Commit 703a4e55 authored by Dan Carpenter's avatar Dan Carpenter Committed by John W. Linville

ath9k: use GFP_ATOMIC under spinlock

This is called with spinlocks held so we have to use GFP_ATOMIC.  It's
the sc_pcu_lock in ath9k_stop() that's the issue.  The call tree looks
like this:

ath9k_stop()
ath_prepare_reset()
ath_stoprecv()
ath_flushrecv()
ath_rx_tasklet()
ath9k_dfs_process_phyerr()
pd->add_pulse() => dpd_add_pulse()
channel_detector_get()
channel_detector_create()
pri_detector_init()

channel_detector_create() uses GFP_ATOMIC as well.
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Tested-by: default avatarZefir Kurtisi <zefir.kurtisi@neratec.com>
Acked-by: default avatarZefir Kurtisi <zefir.kurtisi@neratec.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent ca21cfde
...@@ -406,7 +406,8 @@ static struct pri_sequence *pri_detector_add_pulse(struct pri_detector *de, ...@@ -406,7 +406,8 @@ static struct pri_sequence *pri_detector_add_pulse(struct pri_detector *de,
struct pri_detector *pri_detector_init(const struct radar_detector_specs *rs) struct pri_detector *pri_detector_init(const struct radar_detector_specs *rs)
{ {
struct pri_detector *de; struct pri_detector *de;
de = kzalloc(sizeof(*de), GFP_KERNEL);
de = kzalloc(sizeof(*de), GFP_ATOMIC);
if (de == NULL) if (de == NULL)
return NULL; return NULL;
de->exit = pri_detector_exit; de->exit = pri_detector_exit;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment