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
..
2014-10-07 21:26:52 -04:00
2014-10-08 17:03:09 -04:00
2014-10-08 06:53:19 -04:00
2014-09-30 13:17:14 -04:00
2014-10-07 21:16:26 -04:00
2014-09-30 14:13:29 +02:00
2014-10-08 17:37:16 -04:00
2014-10-08 06:55:41 -04:00
2014-10-08 17:37:16 -04:00
2014-10-08 17:37:16 -04:00
2014-10-08 17:03:09 -04:00
2014-10-08 17:13:04 -04:00
2014-10-08 06:44:48 -04:00
2014-10-07 20:39:25 -04:00
2014-10-08 17:37:16 -04:00
2014-09-22 16:48:47 +09:00
2014-09-23 22:01:55 +01:00
2014-09-25 15:25:52 -07:00
2014-10-08 06:50:18 -04:00
2014-10-06 23:34:40 +02:00
2014-09-23 23:31:22 -07:00
2014-09-22 11:11:48 -07:00
2014-10-07 21:16:26 -04:00
2014-09-22 07:54:10 -07:00
2014-10-08 21:40:54 -04:00
2014-10-03 11:24:46 -07:00
2014-10-08 05:27:39 -04:00
2014-09-23 23:26:42 -07:00
2014-10-08 17:37:16 -04:00
2014-10-08 21:40:54 -04:00
2014-10-08 17:37:16 -04:00
2014-09-11 11:39:14 -07:00
2014-10-02 13:45:00 +10:00
2014-10-07 21:16:26 -04:00
2014-10-07 21:29:18 -04:00
2014-09-16 10:24:16 +08:00
2014-10-08 17:06:53 -04:00
2014-09-06 12:12:09 -07:00
2014-10-29 12:49:12 +02:00
2014-10-05 21:34:39 -04:00
2014-09-14 00:10:38 -04:00
2014-10-08 21:40:54 -04:00
2014-10-01 22:12:50 +02:00
2014-09-23 23:14:28 -07:00
2014-09-24 09:46:29 -07:00
2014-09-24 15:18:34 +05:30
2014-10-07 20:56:28 -04:00
2014-10-07 21:16:26 -04:00
2014-09-26 00:25:59 +02:00
2014-09-03 01:29:00 +02:00
2014-09-09 17:03:17 +02:00
2014-09-30 13:50:31 +01:00
2014-10-08 17:37:16 -04:00
2014-10-07 13:22:11 -04:00
2014-10-07 21:29:18 -04:00
2014-10-08 17:37:16 -04:00
2014-10-03 16:33:44 +01:00
2014-10-08 21:40:54 -04:00
2014-09-17 13:44:01 -07:00
2014-09-09 14:39:21 +00:00
2014-10-08 06:52:11 -04:00
2014-10-08 21:40:54 -04:00
2014-09-23 22:05:26 -07:00
2014-10-07 21:16:26 -04:00
2014-09-13 12:52:35 -04:00
2014-09-09 14:40:17 +00:00
2014-09-11 16:52:29 -07:00
2014-09-24 09:49:14 -04:00