From c89efd08b61b9aa245d843112fa908c8b9f5f8cb Mon Sep 17 00:00:00 2001 From: Maya Erez Date: Sun, 29 May 2016 08:44:09 +0300 Subject: [PATCH] wil6210: guarantee safe access to rx descriptors shared memory add memory barrier after allocating new rx descriptors, before updating the hwtail. This will guarantee that all writes to descriptors (shared memory) are done before committing them to HW. Change-Id: If7c91c31b490b0762d23df21db7c30652b0817d4 Signed-off-by: Maya Erez Signed-off-by: Kalle Valo Git-commit: ab6d7cc3eab4093caf91ba8b27590c4080d7d01c Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git CRs-Fixed: 1015627 Signed-off-by: Maya Erez --- drivers/net/wireless/ath/wil6210/txrx.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c index fa6ea24a1309..3909af171bad 100644 --- a/drivers/net/wireless/ath/wil6210/txrx.c +++ b/drivers/net/wireless/ath/wil6210/txrx.c @@ -544,6 +544,12 @@ static int wil_rx_refill(struct wil6210_priv *wil, int count) break; } } + + /* make sure all writes to descriptors (shared memory) are done before + * committing them to HW + */ + wmb(); + wil_w(wil, v->hwtail, v->swtail); return rc;