Arend Van Spriel
1b57b6210f
cfg80211: make cfg80211_sched_scan_results() work from atomic context
Drivers should be able to call cfg80211_sched_scan_results() from atomic
context. However, with the introduction of multiple scheduled scan feature
this requirement was not taken into account resulting in regression shown
below.
[ 119.021594] BUG: scheduling while atomic: irq/47-iwlwifi/517/0x00000200
[ 119.021604] Modules linked in: [...]
[ 119.021759] CPU: 1 PID: 517 Comm: irq/47-iwlwifi Not tainted 4.12.0-rc2-t440s-20170522+ #1
[ 119.021763] Hardware name: LENOVO 20AQS03H00/20AQS03H00, BIOS GJET91WW (2.41 ) 09/21/2016
[ 119.021766] Call Trace:
[ 119.021778] ? dump_stack+0x5c/0x84
[ 119.021784] ? __schedule_bug+0x4c/0x70
[ 119.021792] ? __schedule+0x496/0x5c0
[ 119.021798] ? schedule+0x2d/0x80
[ 119.021804] ? schedule_preempt_disabled+0x5/0x10
[ 119.021810] ? __mutex_lock.isra.0+0x18e/0x4c0
[ 119.021817] ? __wake_up+0x2f/0x50
[ 119.021833] ? cfg80211_sched_scan_results+0x19/0x60 [cfg80211]
[ 119.021844] ? cfg80211_sched_scan_results+0x19/0x60 [cfg80211]
[ 119.021859] ? iwl_mvm_rx_lmac_scan_iter_complete_notif+0x17/0x30 [iwlmvm]
[ 119.021869] ? iwl_pcie_rx_handle+0x2a9/0x7e0 [iwlwifi]
[ 119.021878] ? iwl_pcie_irq_handler+0x17c/0x730 [iwlwifi]
[ 119.021884] ? irq_forced_thread_fn+0x60/0x60
[ 119.021887] ? irq_thread_fn+0x16/0x40
[ 119.021892] ? irq_thread+0x109/0x180
[ 119.021896] ? wake_threads_waitq+0x30/0x30
[ 119.021901] ? kthread+0xf2/0x130
[ 119.021905] ? irq_thread_dtor+0x90/0x90
[ 119.021910] ? kthread_create_on_node+0x40/0x40
[ 119.021915] ? ret_from_fork+0x26/0x40
Fixes: b34939b983 ("cfg80211: add request id to cfg80211_sched_scan_*() api")
Reported-by: Sander Eikelenboom <linux@eikelenboom.it>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
2017-05-23 14:36:46 +02:00 |
| .. |
|
.gitignore
|
|
|
|
ap.c
|
cfg80211: Make pre-CAC results valid only for ETSI domain
|
2017-03-06 13:54:15 +01:00 |
|
chan.c
|
cfg80211: Share Channel DFS state across wiphys of same DFS domain
|
2017-03-06 13:54:20 +01:00 |
|
core.c
|
cfg80211: add request id to cfg80211_sched_scan_*() api
|
2017-04-28 14:51:43 +02:00 |
|
core.h
|
cfg80211: add request id to cfg80211_sched_scan_*() api
|
2017-04-28 14:51:43 +02:00 |
|
db.txt
|
|
|
|
debugfs.c
|
cfg80211 debugfs: Cleanup some checkpatch issues
|
2017-02-08 09:15:59 +01:00 |
|
debugfs.h
|
|
|
|
ethtool.c
|
|
|
|
genregdb.awk
|
|
|
|
ibss.c
|
cfg80211: Make pre-CAC results valid only for ETSI domain
|
2017-03-06 13:54:15 +01:00 |
|
Kconfig
|
cfg80211: Fix some linguistics in Kconfig
|
2016-02-24 09:04:23 +01:00 |
|
lib80211.c
|
|
|
|
lib80211_crypt_ccmp.c
|
lib80211: ratelimit key index mismatch
|
2015-12-04 14:43:32 +01:00 |
|
lib80211_crypt_tkip.c
|
wireless: fix bogus maybe-uninitialized warning
|
2016-11-17 08:46:38 +02:00 |
|
lib80211_crypt_wep.c
|
lib80211: Use skcipher and ahash
|
2016-01-27 20:36:03 +08:00 |
|
Makefile
|
For 4.11, we seem to have more than in the past few releases:
|
2017-01-14 12:02:15 -05:00 |
|
mesh.c
|
cfg80211: Make pre-CAC results valid only for ETSI domain
|
2017-03-06 13:54:15 +01:00 |
|
mlme.c
|
cfg80211: Use a structure to pass connect response params
|
2017-03-31 08:31:26 +02:00 |
|
nl80211.c
|
nl80211: correctly validate MU-MIMO groups
|
2017-05-08 11:24:34 +02:00 |
|
nl80211.h
|
cfg80211: unify cfg80211_roamed() and cfg80211_roamed_bss()
|
2017-04-28 12:28:44 +02:00 |
|
ocb.c
|
cfg80211: ocb: Fix null pointer deref if join_ocb is unimplemented
|
2015-12-04 14:43:32 +01:00 |
|
of.c
|
cfg80211: support ieee80211-freq-limit DT property
|
2017-01-06 14:01:13 +01:00 |
|
radiotap.c
|
cfg80211: add radiotap VHT info to rtap_namespace_sizes
|
2016-02-24 09:04:41 +01:00 |
|
rdev-ops.h
|
cfg80211: add request id parameter to .sched_scan_stop() signature
|
2017-04-26 23:17:40 +02:00 |
|
reg.c
|
cfg80211: Fix dfs state propagation for non-DFS center channel
|
2017-04-25 21:42:52 +02:00 |
|
reg.h
|
cfg80211: Share Channel DFS state across wiphys of same DFS domain
|
2017-03-06 13:54:20 +01:00 |
|
regdb.h
|
|
|
|
scan.c
|
cfg80211: make cfg80211_sched_scan_results() work from atomic context
|
2017-05-23 14:36:46 +02:00 |
|
sme.c
|
cfg80211: unify cfg80211_roamed() and cfg80211_roamed_bss()
|
2017-04-28 12:28:44 +02:00 |
|
sysfs.c
|
cfg80211: check rdev resume callback only for registered wiphy
|
2017-03-29 09:11:29 +02:00 |
|
sysfs.h
|
|
|
|
trace.c
|
|
|
|
trace.h
|
cfg80211: add request id to cfg80211_sched_scan_*() api
|
2017-04-28 14:51:43 +02:00 |
|
util.c
|
mac80211: strictly check mesh address extension mode
|
2017-05-17 14:24:29 +02:00 |
|
wext-compat.c
|
cfg80211: move add/change interface monitor flags into params
|
2017-04-13 13:41:38 +02:00 |
|
wext-compat.h
|
|
|
|
wext-core.c
|
wext: uninline stream addition functions
|
2017-01-13 09:38:42 +01:00 |
|
wext-priv.c
|
|
|
|
wext-proc.c
|
|
|
|
wext-sme.c
|
cfg80211: wext does not need to set monitor channel in managed mode
|
2017-01-11 14:10:44 +01:00 |
|
wext-spy.c
|
|
|