]> err.no Git - linux-2.6/commitdiff
[NET]: Add memory barrrier to netif_poll_enable()
authorDavid S. Miller <davem@sunset.davemloft.net>
Fri, 29 Dec 2006 05:14:52 +0000 (21:14 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sun, 31 Dec 2006 22:06:48 +0000 (14:06 -0800)
When a driver writer calls this, they generally expect that
all previous stores and modifications they've made will be
visible before netif_poll_enable() executes, so ensure this.

Noticed by Ben H.

Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdevice.h

index 6be767c76b37df983084121cf9e2d21a448831c4..fea0d9db684604dc1d3b9e98dd25d32172c69291 100644 (file)
@@ -906,6 +906,7 @@ static inline void netif_poll_disable(struct net_device *dev)
 
 static inline void netif_poll_enable(struct net_device *dev)
 {
+       smp_mb__before_clear_bit();
        clear_bit(__LINK_STATE_RX_SCHED, &dev->state);
 }