summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00dev.c
diff options
context:
space:
mode:
authorIvo van Doorn <ivdoorn@gmail.com>2010-10-11 15:37:47 +0200
committerJohn W. Linville <linville@tuxdriver.com>2010-10-11 21:04:25 +0200
commitcdfd2c5cffac2e744c855f9998212867387bb2de (patch)
tree14d1d3a4b6c78756a526cc2f11e1af5e31d7aad1 /drivers/net/wireless/rt2x00/rt2x00dev.c
parentrt2x00: Simplify Queue function arguments (diff)
downloadlinux-cdfd2c5cffac2e744c855f9998212867387bb2de.tar.xz
linux-cdfd2c5cffac2e744c855f9998212867387bb2de.zip
rt2x00: Move watchdog work to kernel work_queue
The watchdog function must run on a work_queue which is independent of any other work inside rt2x00. The main reasons, being that a broken work on the mac80211 work_queue can otherwise prevent the watchdog to run (while in fact the watchdog could fix the issue). And on the other hand because the watchdog relies on the completion of the completion handlers for RX/TX which for the USB case, occur on the mac80211 workqueue. This fixes some "Queue %d failed to flush" errors, which were caused by the watchdog function waiting on the completion handler which was scheduled to run right after the watchdog. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Acked-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00dev.c')
0 files changed, 0 insertions, 0 deletions