diff options
author | Solomon Peachy | 2013-08-27 20:29:47 -0400 |
---|---|---|
committer | John W. Linville | 2013-09-09 14:40:54 -0400 |
commit | 85ba8f529c57ac6e2fca9be0d9e17920a1afb2e8 (patch) | |
tree | bb22dd1b9f6e5b442d3c6c2bad87476baa4b9e0f /drivers/bcma/main.c | |
parent | aec8e88c947b7017e2b4bbcb68a4bfc4a1f8ad35 (diff) |
cw1200: Prevent a lock-related hang in the cw1200_spi driver
The cw1200_spi driver tries to mirror the cw1200_sdio driver's lock
API, which relies on sdio_claim_host/sdio_release_host to serialize
hardware operations across multiple threads.
Unfortunately the implementation was flawed, as it lacked a way to wake
up the lock requestor when there was contention, often resulting in a
hang.
This problem was uncovered while trying to fix the
spi-transfers-in-interrupt-context BUG() corrected in the previous
patch. Many thanks to Dave Sizeburns for his assistance in fixing this.
Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/bcma/main.c')
0 files changed, 0 insertions, 0 deletions