diff options
Diffstat (limited to 'drivers/net/ethernet/realtek/8139cp.c')
-rw-r--r-- | drivers/net/ethernet/realtek/8139cp.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c index 886e6bec971a..cc6b391479ca 100644 --- a/drivers/net/ethernet/realtek/8139cp.c +++ b/drivers/net/ethernet/realtek/8139cp.c | |||
@@ -859,7 +859,6 @@ static void __cp_set_rx_mode (struct net_device *dev) | |||
859 | struct cp_private *cp = netdev_priv(dev); | 859 | struct cp_private *cp = netdev_priv(dev); |
860 | u32 mc_filter[2]; /* Multicast hash filter */ | 860 | u32 mc_filter[2]; /* Multicast hash filter */ |
861 | int rx_mode; | 861 | int rx_mode; |
862 | u32 tmp; | ||
863 | 862 | ||
864 | /* Note: do not reorder, GCC is clever about common statements. */ | 863 | /* Note: do not reorder, GCC is clever about common statements. */ |
865 | if (dev->flags & IFF_PROMISC) { | 864 | if (dev->flags & IFF_PROMISC) { |
@@ -886,11 +885,9 @@ static void __cp_set_rx_mode (struct net_device *dev) | |||
886 | } | 885 | } |
887 | 886 | ||
888 | /* We can safely update without stopping the chip. */ | 887 | /* We can safely update without stopping the chip. */ |
889 | tmp = cp_rx_config | rx_mode; | 888 | cp->rx_config = cp_rx_config | rx_mode; |
890 | if (cp->rx_config != tmp) { | 889 | cpw32_f(RxConfig, cp->rx_config); |
891 | cpw32_f (RxConfig, tmp); | 890 | |
892 | cp->rx_config = tmp; | ||
893 | } | ||
894 | cpw32_f (MAR0 + 0, mc_filter[0]); | 891 | cpw32_f (MAR0 + 0, mc_filter[0]); |
895 | cpw32_f (MAR0 + 4, mc_filter[1]); | 892 | cpw32_f (MAR0 + 4, mc_filter[1]); |
896 | } | 893 | } |