linux_dsm_epyc7002/drivers/net/wireless
Luciano Coelho 31ca09dd6b iwlwifi: mvm: hold the rtnl when resuming from a d3 test
We use ieee80211_iter_keys() which requires the rtnl to be held.  If
we don't lock the rtnl, like we do when we suspend during a d3 test,
we get the following splat:

 RTNL: assertion failed at net/mac80211/key.c (566)
 CPU: 1 PID: 26529 Comm: cat Tainted: G        W  O 3.10.29-dev #1
 Hardware name: Dell Inc. Latitude E6430/0CPWYR, BIOS A09 12/13/2012
  e7b15008 e7b15008 e68adc1c c168aa62 e68adc54 f91f20b6 f923700c f9236fd8
  00000236 00000000 ece23874 00000000 f94941e0 00000000 e43b8e48 e7b15008
  00000000 e8b69e78 e68adcc0 f9493ab9 e68adc68 00000000 e43b8e48 e7b15008
 Call Trace:
  [<c168aa62>] dump_stack+0x16/0x18
  [<f91f20b6>] ieee80211_iter_keys+0x166/0x170 [mac80211]
  [<f94941e0>] ? iwl_mvm_query_wakeup_reasons+0x5f0/0x5f0 [iwlmvm]
  [<f9493ab9>] iwl_mvm_setup_connection_keep.isra.5+0x99/0x1d0 [iwlmvm]
  [<f9165e28>] ? cfg80211_report_wowlan_wakeup+0x308/0x510 [cfg80211]
  [<f9493fe5>] iwl_mvm_query_wakeup_reasons+0x3f5/0x5f0 [iwlmvm]
  [<c116125a>] ? init_object+0x3a/0x70
  [<f8a5b8ee>] ? iwl_trans_pcie_d3_resume+0x1be/0x3a0 [iwlwifi]
  [<f94956da>] __iwl_mvm_resume+0x14a/0x180 [iwlmvm]
  [<f9495736>] iwl_mvm_d3_test_release+0x26/0xc0 [iwlmvm]
  [<c117a64d>] __fput+0xad/0x210
  [<c117a7bd>] ____fput+0xd/0x10
  [<c10601a1>] task_work_run+0x81/0xb0
  [<c1040fa5>] do_exit+0x255/0xac0
  [<c104e511>] ? dequeue_signal+0x31/0x1a0
  [<c1041888>] do_group_exit+0x38/0xa0
  [<c10a6cfb>] ? trace_hardirqs_on+0xb/0x10
  [<c1051c31>] get_signal_to_deliver+0x1e1/0x8e0
  [<c104bd52>] ? try_to_del_timer_sync+0x42/0x60
  [<c104bd70>] ? try_to_del_timer_sync+0x60/0x60
  [<c168dc82>] ? schedule_timeout+0x102/0x2a0
  [<c10011ba>] do_signal+0x3a/0x8e0
  [<c104b190>] ? __internal_add_timer+0xb0/0xb0
  [<c168de7a>] ? schedule_timeout_interruptible+0x1a/0x20
  [<c104ce39>] ? msleep_interruptible+0x39/0x40
  [<f94939a9>] ? iwl_mvm_d3_test_read+0x49/0x70 [iwlmvm]
  [<c11797fc>] ? vfs_read+0x8c/0x160
  [<c11243af>] ? SyS_fadvise64_64+0x15f/0x2b0
  [<f9493960>] ? iwl_mvm_wowlan_program_keys+0x4a0/0x4a0 [iwlmvm]
  [<c1179a57>] ? SyS_read+0x57/0xa0
  [<c1001acf>] do_notify_resume+0x6f/0xa0
  [<c1692500>] work_notifysig+0x29/0x31

Fix this by hold the rtnl lock when calling __iwl_mvm_resume() in the
d3 test wake up path.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-10-29 12:49:12 +02:00
..
ath Merge tag 'master-2014-10-02' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2014-10-05 21:34:39 -04:00
b43 b43: add support for setting the beacon listen interval 2014-09-15 15:00:54 -04:00
b43legacy
brcm80211 Merge tag 'master-2014-10-02' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2014-10-05 21:34:39 -04:00
cw1200 cw1200: Introduce the use of devm_kzalloc 2014-08-25 16:00:43 -04:00
hostap hostap: proc: substitute loops by %*phN 2014-09-15 15:00:49 -04:00
ipw2x00 net: wireless: ipw2x00: ipw2200.c: Cleaning up missing null-terminate in conjunction with strncpy 2014-08-25 16:17:40 -04:00
iwlegacy This time, I have some rate minstrel improvements, support for a very 2014-09-15 14:51:23 -04:00
iwlwifi iwlwifi: mvm: hold the rtnl when resuming from a d3 test 2014-10-29 12:49:12 +02:00
libertas Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-10-08 21:40:54 -04:00
libertas_tf treewide: Fix typo in printk 2014-08-26 09:35:54 +02:00
mwifiex Merge tag 'master-2014-10-02' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2014-10-05 21:34:39 -04:00
orinoco drivers/net: Convert remaining uses of pr_warning to pr_warn 2014-09-09 20:37:08 -07:00
p54 mac80211: extend set_coverage_class signature 2014-09-05 13:54:07 +02:00
prism54 PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
rsi
rt2x00 rt2800: correct BBP1_TX_POWER_CTRL mask 2014-09-26 17:06:53 -04:00
rtl818x rtl818x_pci: add RSSI information for rtl8187SE 2014-09-26 17:06:51 -04:00
rtlwifi rtlwifi: Fix static checker warnings for various drivers 2014-10-02 14:26:32 -04:00
ti drivers/net: Convert remaining uses of pr_warning to pr_warn 2014-09-09 20:37:08 -07:00
zd1211rw wireless: zd1211rw: new url for fw, remove experimental 2014-07-15 16:00:17 -04:00
adm8211.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
adm8211.h
airo_cs.c airo_cs: Remove typedef local_info_t 2014-08-11 12:19:53 -07:00
airo.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
airo.h
at76c50x-usb.c at76c50x-usb: fix use after free on failure path in at76_probe() 2014-08-25 15:39:23 -04:00
at76c50x-usb.h
atmel_cs.c atmel_cs: Remove typedef local_info_t 2014-08-25 16:17:41 -04:00
atmel_pci.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
atmel.c atmel: Remove typedef atmel_priv_ioctl 2014-08-11 12:19:53 -07:00
atmel.h
Kconfig net: fix USB network driver config option. 2014-08-06 16:00:20 -07:00
mac80211_hwsim.c mac80211: replace SMPS hw flags with wiphy feature bits 2014-09-11 13:37:02 +02:00
mac80211_hwsim.h
Makefile
mwl8k.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
ray_cs.c
ray_cs.h ray_cs: Add include guards 2014-08-28 14:41:56 -04:00
rayctl.h ray_cs: Add include guards 2014-08-28 14:41:56 -04:00
rndis_wlan.c cfg80211: allow passing frame type to cfg80211_inform_bss() 2014-08-26 11:16:02 +02:00
wl3501_cs.c
wl3501.h
zd1201.c
zd1201.h