diff options
Diffstat (limited to 'drivers/net/sis190.c')
| -rw-r--r-- | drivers/net/sis190.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c index 760d9e83a465..a5d6a6bd0c1a 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c | |||
| @@ -32,6 +32,7 @@ | |||
| 32 | #include <linux/delay.h> | 32 | #include <linux/delay.h> |
| 33 | #include <linux/crc32.h> | 33 | #include <linux/crc32.h> |
| 34 | #include <linux/dma-mapping.h> | 34 | #include <linux/dma-mapping.h> |
| 35 | #include <linux/slab.h> | ||
| 35 | #include <asm/irq.h> | 36 | #include <asm/irq.h> |
| 36 | 37 | ||
| 37 | #define PHY_MAX_ADDR 32 | 38 | #define PHY_MAX_ADDR 32 |
| @@ -848,13 +849,13 @@ static void sis190_set_rx_mode(struct net_device *dev) | |||
| 848 | rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys; | 849 | rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys; |
| 849 | mc_filter[1] = mc_filter[0] = 0xffffffff; | 850 | mc_filter[1] = mc_filter[0] = 0xffffffff; |
| 850 | } else { | 851 | } else { |
| 851 | struct dev_mc_list *mclist; | 852 | struct netdev_hw_addr *ha; |
| 852 | 853 | ||
| 853 | rx_mode = AcceptBroadcast | AcceptMyPhys; | 854 | rx_mode = AcceptBroadcast | AcceptMyPhys; |
| 854 | mc_filter[1] = mc_filter[0] = 0; | 855 | mc_filter[1] = mc_filter[0] = 0; |
| 855 | netdev_for_each_mc_addr(mclist, dev) { | 856 | netdev_for_each_mc_addr(ha, dev) { |
| 856 | int bit_nr = | 857 | int bit_nr = |
| 857 | ether_crc(ETH_ALEN, mclist->dmi_addr) & 0x3f; | 858 | ether_crc(ETH_ALEN, ha->addr) & 0x3f; |
| 858 | mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31); | 859 | mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31); |
| 859 | rx_mode |= AcceptMulticast; | 860 | rx_mode |= AcceptMulticast; |
| 860 | } | 861 | } |
