diff options
Diffstat (limited to 'drivers/net/8139too.c')
| -rw-r--r-- | drivers/net/8139too.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c index b4efc913978b..d149624b4a44 100644 --- a/drivers/net/8139too.c +++ b/drivers/net/8139too.c | |||
| @@ -110,6 +110,7 @@ | |||
| 110 | #include <linux/crc32.h> | 110 | #include <linux/crc32.h> |
| 111 | #include <linux/io.h> | 111 | #include <linux/io.h> |
| 112 | #include <linux/uaccess.h> | 112 | #include <linux/uaccess.h> |
| 113 | #include <linux/gfp.h> | ||
| 113 | #include <asm/irq.h> | 114 | #include <asm/irq.h> |
| 114 | 115 | ||
| 115 | #define RTL8139_DRIVER_NAME DRV_NAME " Fast Ethernet driver " DRV_VERSION | 116 | #define RTL8139_DRIVER_NAME DRV_NAME " Fast Ethernet driver " DRV_VERSION |
| @@ -2502,11 +2503,11 @@ static void __set_rx_mode (struct net_device *dev) | |||
| 2502 | rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys; | 2503 | rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys; |
| 2503 | mc_filter[1] = mc_filter[0] = 0xffffffff; | 2504 | mc_filter[1] = mc_filter[0] = 0xffffffff; |
| 2504 | } else { | 2505 | } else { |
| 2505 | struct dev_mc_list *mclist; | 2506 | struct netdev_hw_addr *ha; |
| 2506 | rx_mode = AcceptBroadcast | AcceptMyPhys; | 2507 | rx_mode = AcceptBroadcast | AcceptMyPhys; |
| 2507 | mc_filter[1] = mc_filter[0] = 0; | 2508 | mc_filter[1] = mc_filter[0] = 0; |
| 2508 | netdev_for_each_mc_addr(mclist, dev) { | 2509 | netdev_for_each_mc_addr(ha, dev) { |
| 2509 | int bit_nr = ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26; | 2510 | int bit_nr = ether_crc(ETH_ALEN, ha->addr) >> 26; |
| 2510 | 2511 | ||
| 2511 | mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31); | 2512 | mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31); |
| 2512 | rx_mode |= AcceptMulticast; | 2513 | rx_mode |= AcceptMulticast; |
