diff options
author | Vasily Khoruzhick <anarsoul@gmail.com> | 2011-01-21 22:44:48 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-02-03 16:38:25 -0500 |
commit | 16f775befc1ccf67e6b223c4d9bb17ac3502ab2c (patch) | |
tree | d8b3f752295c9aa98037950e522a25f4d857017a /drivers/net/wireless/libertas/main.c | |
parent | dbd98308a5dc6bc7e8e79ca8b7a0038638d24605 (diff) | |
download | lwn-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