-
- Downloads
mac80211: split sta_info_add
sta_info_add() has two functions: allocating a station info structure and inserting it into the hash table/list. Splitting these two functions allows allocating with GFP_KERNEL in many places instead of GFP_ATOMIC which is now required by the RCU protection. Additionally, in many places RCU protection is now no longer needed at all because between sta_info_alloc() and sta_info_insert() the caller owns the structure. This fixes a few race conditions with setting initial flags and similar, but not all (see comments in ieee80211_sta.c and cfg.c). More documentation on the existing races will be in a follow-up patch. Signed-off-by:Johannes Berg <johannes@sipsolutions.net> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
Showing
- net/mac80211/cfg.c 33 additions, 9 deletionsnet/mac80211/cfg.c
- net/mac80211/ieee80211.c 11 additions, 7 deletionsnet/mac80211/ieee80211.c
- net/mac80211/ieee80211_sta.c 33 additions, 11 deletionsnet/mac80211/ieee80211_sta.c
- net/mac80211/mesh.h 2 additions, 2 deletionsnet/mac80211/mesh.h
- net/mac80211/mesh_plink.c 25 additions, 18 deletionsnet/mac80211/mesh_plink.c
- net/mac80211/sta_info.c 50 additions, 22 deletionsnet/mac80211/sta_info.c
- net/mac80211/sta_info.h 12 additions, 5 deletionsnet/mac80211/sta_info.h
Loading
Please register or sign in to comment