summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/carl9170/carl9170.h
diff options
context:
space:
mode:
authorRonald Wahl <ronald.wahl@raritan.com>2012-10-08 16:17:07 +0400
committerJohn W. Linville <linville@tuxdriver.com>2012-10-08 23:06:04 +0400
commit5bcbc3fcbd88842765aa419934602d3930c6ed3c (patch)
treed206abe2f8dab08e05179fdfe29dabb3b5a0128d /drivers/net/wireless/ath/carl9170/carl9170.h
parent9c371f997353385dfa2f7a8004ce13397e071a25 (diff)
downloadlinux-5bcbc3fcbd88842765aa419934602d3930c6ed3c.tar.xz
carl9170: fix sleep in softirq context
This patch fixes the following bug: usb 1-1.1: restart device (8) BUG: sleeping function called from invalid context at drivers/usb/core/urb.c:654 in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper (usb_poison_urb+0x1c/0xf8) (usb_poison_anchored_urbs+0x48/0x78) (carl9170_usb_handle_tx_err+0x128/0x150) (carl9170_usb_reset+0xc/0x20) (carl9170_handle_command_response+0x298/0xea8) (carl9170_usb_tasklet+0x68/0x184) (tasklet_hi_action+0x84/0xdc) this only happens if the device is plugged in an USB port, the driver is loaded but inactive (e.g. the wlan interface is down). If the device is active everything is fine. Signed-off-by: Ronald Wahl <ronald.wahl@raritan.com> Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/carl9170/carl9170.h')
-rw-r--r--drivers/net/wireless/ath/carl9170/carl9170.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/carl9170/carl9170.h b/drivers/net/wireless/ath/carl9170/carl9170.h
index 2aa4a59c72c8..2df17f1e49ef 100644
--- a/drivers/net/wireless/ath/carl9170/carl9170.h
+++ b/drivers/net/wireless/ath/carl9170/carl9170.h
@@ -303,6 +303,7 @@ struct ar9170 {
unsigned long queue_stop_timeout[__AR9170_NUM_TXQ];
unsigned long max_queue_stop_timeout[__AR9170_NUM_TXQ];
bool needs_full_reset;
+ bool force_usb_reset;
atomic_t pending_restarts;
/* interface mode settings */