Subject: Re: [PATCH] net: meth: Add set_rx_mode hook to fix ICMPv6 neighbor discovery

From: Stephen Hemminger <[email-masked]>
Date: Tue, 27 Dec 2011 14:34:41 -0800

On Tue, 27 Dec 2011 16:29:57 -0500
Joshua Kinard <[email-masked]> wrote:

> MIPS I/O registers are always memory-mapped, and to prevent the compiler
> from trying to over-optimize, volatile is used to make sure we always read a
> value from the hardware and not from some cached value.

Almost every other network driver had memory mapped register.
The problem is volatile is that the compiler is stupid and wrong.
Using explicit barriers is preferred and ensures correct and fast
code.