summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/libertas/main.c
diff options
context:
space:
mode:
authorVasily Khoruzhick <anarsoul@gmail.com>2011-01-21 22:44:48 +0200
committerJohn W. Linville <linville@tuxdriver.com>2011-02-03 16:38:25 -0500
commit16f775befc1ccf67e6b223c4d9bb17ac3502ab2c (patch)
treed8b3f752295c9aa98037950e522a25f4d857017a /drivers/net/wireless/libertas/main.c
parentdbd98308a5dc6bc7e8e79ca8b7a0038638d24605 (diff)
downloadlwn-16f775befc1ccf67e6b223c4d9bb17ac3502ab2c.tar.gz
lwn-16f775befc1ccf67e6b223c4d9bb17ac3502ab2c.zip
libertas_spi: Use workqueue in hw_host_to_card
Use workqueue to perform SPI xfers, it's necessary to fix nasty "BUG: scheduling while atomic", because spu_write() calls spi_sync() and spi_sync() may sleep, but hw_host_to_card() callback can be called from atomic context. Remove kthread completely, workqueue now does its job. Restore intermediate buffers which were removed in commit 86c34fe89e9cad9e1ba4d1a8bbf98259035f4caf that introduced mentioned bug. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/main.c')
0 files changed, 0 insertions, 0 deletions