linux/drivers/net/wireless/ath/ath6kl
Raja Mani fdb28589b1 ath6kl: Use mutex to protect dma buffer in sync read write
Firmware crashes while starting Soft AP in 32 bit x86 platform.
The reason is that the single dma buffer (ar_sdio->dma_buffer)
is used in ath6kl_sdio_read_write_sync() for unaligned buffer
handling and this function is called in the multiple context
at the same time. So, finally hits dma buffer corruption and
firmware crash.

Mutex is used to protect dma buffer to avoid data corruption.
Spin lock can not used to fix this issue since mmc stack
read/write calls may for sleep.

Observed this issue with recently commited patch
"ath6kl: Claim sdio function only at appropriate places"
861dd058f4

kvalo: change name of mutex to more descriptive and add a comment
about what it protects

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-21 19:47:09 +02:00
..
bmi.c ath6kl: add USB support 2011-11-13 12:34:30 +02:00
bmi.h ath6kl: change bmi sizes being configurable by HIF 2011-11-13 12:34:29 +02:00
cfg80211.c ath6kl: unlock if ath6kl_cfg80211_connect() fails 2011-11-21 19:47:08 +02:00
cfg80211.h ath6kl: Add new state for WOW mode 2011-11-11 12:59:59 +02:00
common.h ath6kl: Add support for configuring SMS4 keys 2011-11-13 10:57:38 +02:00
core.h ath6kl: Enable multiple vif support 2011-11-21 19:47:08 +02:00
debug.c ath6kl: Fix error in writing create_qos debugfs 2011-11-11 13:00:01 +02:00
debug.h ath6kl: add USB support 2011-11-13 12:34:30 +02:00
hif-ops.h ath6kl: move diag commands to hif driver 2011-11-13 12:34:29 +02:00
hif.c ath6kl: disable HTC for USB devices 2011-11-13 12:34:30 +02:00
hif.h ath6kl: AR6004 SDIO support 2011-11-13 12:34:30 +02:00
htc.c ath6kl: disable HTC for USB devices 2011-11-13 12:34:30 +02:00
htc.h ath6kl: use ath6kl_credit prefix consistently 2011-11-11 12:58:54 +02:00
init.c ath6kl: Enable multiple vif support 2011-11-21 19:47:08 +02:00
Kconfig ath6kl: enable USB support 2011-11-13 12:34:31 +02:00
main.c ath6kl: add name field to struct ath6kl_hw 2011-11-16 10:22:33 +02:00
Makefile ath6kl: enable USB support 2011-11-13 12:34:31 +02:00
sdio.c ath6kl: Use mutex to protect dma buffer in sync read write 2011-11-21 19:47:09 +02:00
target.h ath6kl: add board address to struct ath6kl_hw 2011-11-16 10:22:33 +02:00
testmode.c ath6kl: add testmode support 2011-09-01 10:14:21 +03:00
testmode.h ath6kl: fix compilation when NL80211_TESTMODE is disabled 2011-09-01 12:04:59 +03:00
txrx.c ath6kl: make maximum number of vifs runtime configurable 2011-11-16 10:22:34 +02:00
usb.c ath6kl: use hardware version names consistently 2011-11-16 10:22:33 +02:00
wmi.c ath6kl: make maximum number of vifs runtime configurable 2011-11-16 10:22:34 +02:00
wmi.h ath6kl: Remove few unused WMI stuff 2011-11-11 13:00:00 +02:00