diff options
Diffstat (limited to 'drivers/net/forcedeth.c')
| -rw-r--r-- | drivers/net/forcedeth.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index 73b260c3c65..3267b239091 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c @@ -3104,12 +3104,14 @@ static void nv_set_multicast(struct net_device *dev)  			if (dev->flags & IFF_ALLMULTI) {  				alwaysOn[0] = alwaysOn[1] = alwaysOff[0] = alwaysOff[1] = 0;  			} else { -				struct dev_mc_list *walk; +				struct netdev_hw_addr *ha; -				netdev_for_each_mc_addr(walk, dev) { +				netdev_for_each_mc_addr(ha, dev) { +					unsigned char *addr = ha->addr;  					u32 a, b; -					a = le32_to_cpu(*(__le32 *) walk->dmi_addr); -					b = le16_to_cpu(*(__le16 *) (&walk->dmi_addr[4])); + +					a = le32_to_cpu(*(__le32 *) addr); +					b = le16_to_cpu(*(__le16 *) (&addr[4]));  					alwaysOn[0] &= a;  					alwaysOff[0] &= ~a;  					alwaysOn[1] &= b;  |