]> git.baikalelectronics.ru Git - kernel.git/commit
qede: Fix barrier usage after tx doorbell write.
authorManish Chopra <manish.chopra@cavium.com>
Tue, 27 Mar 2018 13:34:41 +0000 (06:34 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 27 Mar 2018 17:11:46 +0000 (13:11 -0400)
commit866f73326f81bbba21043ccafd52f7ce37a1a35b
treed354c2be9e3bedb62886a87377efe8d53fbde07d
parent7505e4c5491a4d3a77a8837ca5824bac02baa817
qede: Fix barrier usage after tx doorbell write.

Since commit 6078acfb8aced8630c015d70d0aa487034027938
("net: sched: pfifo_fast use skb_array") driver is exposed
to an issue where it is hitting NULL skbs while handling TX
completions. Driver uses mmiowb() to flush the writes to the
doorbell bar which is a write-combined bar, however on x86
mmiowb() does not flush the write combined buffer.

This patch fixes this problem by replacing mmiowb() with wmb()
after the write combined doorbell write so that writes are
flushed and synchronized from more than one processor.

V1->V2:
-------
This patch was marked as "superseded" in patchwork.
(Not really sure for what reason).Resending it as v2.

Signed-off-by: Ariel Elior <ariel.elior@cavium.com>
Signed-off-by: Manish Chopra <manish.chopra@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qede/qede_fp.c