ath10k: fix bmi exchange tx/rx race
authorMichal Kazior <michal.kazior@tieto.com>
Mon, 14 Jul 2014 13:25:25 +0000 (16:25 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 15 Jul 2014 08:18:58 +0000 (11:18 +0300)
It was possible for tx completion not to be
processed. In that case an old stack pointer was
left on copy engine tx ring. Next bmi exchange
would immediately pop it and use complete() on the
completion struct there causing corruption.

Make sure to wait for both tx and rx completions
properly.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/pci.c
drivers/net/wireless/ath/ath10k/pci.h

Simple merge
Simple merge