wil6210: prevent access to vring_tx_data lock during its init
authorMaya Erez <qca_merez@qca.qualcomm.com>
Thu, 28 Jan 2016 17:24:02 +0000 (19:24 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 2 Feb 2016 12:05:56 +0000 (14:05 +0200)
commit875e94392ad2be9776c8325d3573160eb1455a2b
tree43b7a57a8847b70b2d3703dcacb74befccc6d72b
parent1286558e45fd90fd0faf5d41df35f511c51f25e7
wil6210: prevent access to vring_tx_data lock during its init

wil_tx_vring locks the vring_tx_data lock before accessing the TX
vring to check if it is enabled and valid for use.
In case of quick disconnect / connect events for the same station,
spin_lock(&txdata->lock) can be called during the lock initialization
in the vring init function.
To prevent such a race, the TX vrings spin lock should be initialized
once during wil6210 driver initialization.

Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/wil6210/main.c
drivers/net/wireless/ath/wil6210/txrx.c