net: macb: ensure ordering write to re-enable RX smoothly
authorZumeng Chen <zumeng.chen@windriver.com>
Mon, 28 Nov 2016 13:55:00 +0000 (21:55 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 30 Nov 2016 01:33:55 +0000 (20:33 -0500)
commitffac0e967f20b7637936dbaa21df08c55f672604
tree0b79a616d557f4646a717cebc75911a3803670bf
parenta0b44eea372b449ef9744fb1d90491cc063289b8
net: macb: ensure ordering write to re-enable RX smoothly

When a hardware issue happened as described by inline comments, the register
write pattern looks like the following:

<write ~MACB_BIT(RE)>
+ wmb();
<write MACB_BIT(RE)>

There might be a memory barrier between these two write operations, so add wmb
to ensure an flip from 0 to 1 for NCR.

Signed-off-by: Zumeng Chen <zumeng.chen@windriver.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cadence/macb.c