Searched hist:"34 b8886e" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/net/wireless/ath/wil6210/ |
H A D | txrx.c | 34b8886e Mon May 16 14:23:32 CDT 2016 Maya Erez <qca_merez@qca.qualcomm.com> wil6210: protect wil_vring_fini_tx in parallel to tx completions
napi_synchronize is called before releasing the vring, with the assumption that setting txdata->enabled to 0 will prevent handling of this vring in the next scheduled napi. To guarantee this assumption, a memory barrier is added after disabling the txdata. In addition, as the ctx is zeroed in wil_tx_complete after this descriptor is handled (protected by wmb), ctx needs to be checked before releasing this descriptor in wil_vring_free.
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> 34b8886e Mon May 16 14:23:32 CDT 2016 Maya Erez <qca_merez@qca.qualcomm.com> wil6210: protect wil_vring_fini_tx in parallel to tx completions napi_synchronize is called before releasing the vring, with the assumption that setting txdata->enabled to 0 will prevent handling of this vring in the next scheduled napi. To guarantee this assumption, a memory barrier is added after disabling the txdata. In addition, as the ctx is zeroed in wil_tx_complete after this descriptor is handled (protected by wmb), ctx needs to be checked before releasing this descriptor in wil_vring_free. Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|