Prev: [088/117] sctp: per_cpu variables should be in bh_disabled section
Next: [065/117] libata: Fix accesses at LBA28 boundary (old bug, but nasty) (v2)
From: Greg KH on 10 May 2010 19:40 2.6.33-stable review patch. If anyone has any objections, please let us know. ------------------ From: David Dillow <dave(a)thedillows.org> commit 4c020a961a812ffae9846b917304cea504c3a733 upstream. r8169 needs certain writes to be visible to other CPUs or the NIC before touching the hardware, but was using smp_wmb() which is only required to order cacheable memory access. Switch to wmb() which is required to order both cacheable and non-cacheable memory. Noticed by Catalin Marinas and Paul Mackerras. Signed-off-by: David Dillow <dave(a)thedillows.org> Signed-off-by: David S. Miller <davem(a)davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh(a)suse.de> --- drivers/net/r8169.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -4316,7 +4316,7 @@ static netdev_tx_t rtl8169_start_xmit(st tp->cur_tx += frags + 1; - smp_wmb(); + wmb(); RTL_W8(TxPoll, NPQ); /* set polling bit */ @@ -4675,7 +4675,7 @@ static int rtl8169_poll(struct napi_stru * until it does. */ tp->intr_mask = 0xffff; - smp_wmb(); + wmb(); RTL_W16(IntrMask, tp->intr_event); } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |