linux/net/wireless
Johannes Berg aa5f66d5a1 cfg80211: fix sysfs registration race
My locking rework/race fixes caused a regression in the
registration, causing uevent notifications for wireless
devices before the device is really fully registered and
available in nl80211.

Fix this by moving the device_add() under rtnl and move
the rfkill to afterwards (it can't be under rtnl.)

Reported-and-tested-by: Maxime Bizon <mbizon@freebox.fr>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-09-26 20:03:45 +02:00
..
.gitignore wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
ap.c cfg80211: move exported event functions into nl80211 2013-03-06 16:35:46 +01:00
chan.c nl80211/cfg80211: add 5 and 10 MHz defines and wiphy flag 2013-06-18 16:06:50 +02:00
core.c cfg80211: fix sysfs registration race 2013-09-26 20:03:45 +02:00
core.h cfg80211/nl80211: Add packet coalesce support 2013-07-16 09:58:00 +03:00
db.txt wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
debugfs.c cfg80211: vastly simplify locking 2013-05-25 00:02:15 +02:00
debugfs.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
ethtool.c ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
ethtool.h net/wireless/ethtool.h: drop unnecessary include of linux/ethtool.h 2009-10-07 16:39:49 -04:00
genregdb.awk cfg80211: relicense reg.c reg.h and genregdb.awk to ISC 2012-01-04 14:30:41 -05:00
ibss.c cfg80211: fix warning when using WEXT for IBSS 2013-09-26 19:43:14 +02:00
Kconfig lib80211: hide Kconfig symbol 2012-11-16 14:29:09 -05:00
lib80211_crypt_ccmp.c hostap: Don't use create_proc_read_entry() 2013-04-29 15:41:56 -04:00
lib80211_crypt_tkip.c hostap: Don't use create_proc_read_entry() 2013-04-29 15:41:56 -04:00
lib80211_crypt_wep.c hostap: Don't use create_proc_read_entry() 2013-04-29 15:41:56 -04:00
lib80211.c lib80211: remove exports for functions not called by other modules 2011-08-09 15:42:36 -04:00
Makefile cfg80211: add tracing to rdev-ops 2012-10-18 10:53:37 +02:00
mesh.c cfg80211/mac80211: get mandatory rates based on scan width 2013-07-16 09:58:07 +03:00
mlme.c cfg80211: add flags to cfg80211_rx_mgmt() 2013-08-23 16:06:03 +02:00
nl80211.c cfg80211: use the correct macro to check for active monitor support 2013-09-26 13:22:45 +02:00
nl80211.h cfg80211: add flags to cfg80211_rx_mgmt() 2013-08-23 16:06:03 +02:00
radiotap.c wireless: add radiotap A-MPDU status field 2012-08-20 13:53:09 +02:00
rdev-ops.h cfg80211: add wdev to testmode cmd 2013-08-12 14:11:37 +02:00
reg.c regulatory: use correct regulatory initiator on wiphy register 2013-07-25 09:52:46 +02:00
reg.h regulatory: use RCU to protect global and wiphy regdomains 2013-01-03 13:01:29 +01:00
regdb.h cfg80211: relicense reg.c reg.h and genregdb.awk to ISC 2012-01-04 14:30:41 -05:00
scan.c wireless: scan: Remove comment to compare_ether_addr 2013-09-03 22:34:48 -04:00
sme.c cfg80211: don't request disconnect if not connected 2013-08-14 14:00:19 +02:00
sysfs.c net: wireless: convert class code to use dev_groups 2013-07-25 16:34:40 -07:00
sysfs.h
trace.c cfg80211: add tracing to rdev-ops 2012-10-18 10:53:37 +02:00
trace.h cfg80211: add wdev to testmode cmd 2013-08-12 14:11:37 +02:00
util.c cfg80211/mac80211: get mandatory rates based on scan width 2013-07-16 09:58:07 +03:00
wext-compat.c cfg80211: vastly simplify locking 2013-05-25 00:02:15 +02:00
wext-compat.h cfg80211: remove unused wext handler exports 2011-08-08 14:26:29 -04:00
wext-core.c wext: include wireless event id when it has a size problem 2012-09-05 16:12:44 +02:00
wext-priv.c wext: fix potential private ioctl memory content leak 2010-09-20 13:41:40 -04:00
wext-proc.c net: proc: change proc_net_remove to remove_proc_entry 2013-02-18 14:53:08 -05:00
wext-sme.c cfg80211: separate internal SME implementation 2013-06-04 13:03:11 +02:00
wext-spy.c wireless: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:19 -04:00