diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /drivers/net/sun3_82586.c | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'drivers/net/sun3_82586.c')
-rw-r--r-- | drivers/net/sun3_82586.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/sun3_82586.c b/drivers/net/sun3_82586.c index 2f1eaaf7a727..8b28c89a9a77 100644 --- a/drivers/net/sun3_82586.c +++ b/drivers/net/sun3_82586.c | |||
@@ -33,7 +33,6 @@ static int fifo=0x8; /* don't change */ | |||
33 | #include <linux/string.h> | 33 | #include <linux/string.h> |
34 | #include <linux/errno.h> | 34 | #include <linux/errno.h> |
35 | #include <linux/ioport.h> | 35 | #include <linux/ioport.h> |
36 | #include <linux/slab.h> | ||
37 | #include <linux/interrupt.h> | 36 | #include <linux/interrupt.h> |
38 | #include <linux/delay.h> | 37 | #include <linux/delay.h> |
39 | #include <linux/init.h> | 38 | #include <linux/init.h> |
@@ -191,7 +190,7 @@ static int sun3_82586_open(struct net_device *dev) | |||
191 | startrecv586(dev); | 190 | startrecv586(dev); |
192 | sun3_enaint(); | 191 | sun3_enaint(); |
193 | 192 | ||
194 | ret = request_irq(dev->irq, &sun3_82586_interrupt,0,dev->name,dev); | 193 | ret = request_irq(dev->irq, sun3_82586_interrupt,0,dev->name,dev); |
195 | if (ret) | 194 | if (ret) |
196 | { | 195 | { |
197 | sun3_reset586(); | 196 | sun3_reset586(); |
@@ -413,8 +412,8 @@ static int init586(struct net_device *dev) | |||
413 | volatile struct iasetup_cmd_struct *ias_cmd; | 412 | volatile struct iasetup_cmd_struct *ias_cmd; |
414 | volatile struct tdr_cmd_struct *tdr_cmd; | 413 | volatile struct tdr_cmd_struct *tdr_cmd; |
415 | volatile struct mcsetup_cmd_struct *mc_cmd; | 414 | volatile struct mcsetup_cmd_struct *mc_cmd; |
416 | struct dev_mc_list *dmi=dev->mc_list; | 415 | struct dev_mc_list *dmi; |
417 | int num_addrs=dev->mc_count; | 416 | int num_addrs=netdev_mc_count(dev); |
418 | 417 | ||
419 | ptr = (void *) ((char *)p->scb + sizeof(struct scb_struct)); | 418 | ptr = (void *) ((char *)p->scb + sizeof(struct scb_struct)); |
420 | 419 | ||
@@ -536,8 +535,10 @@ static int init586(struct net_device *dev) | |||
536 | mc_cmd->cmd_link = 0xffff; | 535 | mc_cmd->cmd_link = 0xffff; |
537 | mc_cmd->mc_cnt = swab16(num_addrs * 6); | 536 | mc_cmd->mc_cnt = swab16(num_addrs * 6); |
538 | 537 | ||
539 | for(i=0;i<num_addrs;i++,dmi=dmi->next) | 538 | i = 0; |
540 | memcpy((char *) mc_cmd->mc_list[i], dmi->dmi_addr,6); | 539 | netdev_for_each_mc_addr(dmi, dev) |
540 | memcpy((char *) mc_cmd->mc_list[i++], | ||
541 | dmi->dmi_addr, ETH_ALEN); | ||
541 | 542 | ||
542 | p->scb->cbl_offset = make16(mc_cmd); | 543 | p->scb->cbl_offset = make16(mc_cmd); |
543 | p->scb->cmd_cuc = CUC_START; | 544 | p->scb->cmd_cuc = CUC_START; |