OSDN Git Service

carl9170: fix sleep in softirq context
authorRonald Wahl <ronald.wahl@raritan.com>
Mon, 8 Oct 2012 12:17:07 +0000 (14:17 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 8 Oct 2012 19:06:04 +0000 (15:06 -0400)
commit5bcbc3fcbd88842765aa419934602d3930c6ed3c
treed206abe2f8dab08e05179fdfe29dabb3b5a0128d
parent9c371f997353385dfa2f7a8004ce13397e071a25
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>
drivers/net/wireless/ath/carl9170/carl9170.h
drivers/net/wireless/ath/carl9170/main.c