aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/3c523.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/3c523.c')
-rw-r--r--drivers/net/3c523.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/net/3c523.c b/drivers/net/3c523.c
index 1719079cc498..a7b0e5e43a52 100644
--- a/drivers/net/3c523.c
+++ b/drivers/net/3c523.c
@@ -503,7 +503,6 @@ static int __init do_elmc_probe(struct net_device *dev)
503 break; 503 break;
504 } 504 }
505 505
506 memset(pr, 0, sizeof(struct priv));
507 pr->slot = slot; 506 pr->slot = slot;
508 507
509 pr_info("%s: 3Com 3c523 Rev 0x%x at %#lx\n", dev->name, (int) revision, 508 pr_info("%s: 3Com 3c523 Rev 0x%x at %#lx\n", dev->name, (int) revision,
@@ -624,7 +623,7 @@ static int init586(struct net_device *dev)
624 volatile struct iasetup_cmd_struct *ias_cmd; 623 volatile struct iasetup_cmd_struct *ias_cmd;
625 volatile struct tdr_cmd_struct *tdr_cmd; 624 volatile struct tdr_cmd_struct *tdr_cmd;
626 volatile struct mcsetup_cmd_struct *mc_cmd; 625 volatile struct mcsetup_cmd_struct *mc_cmd;
627 struct dev_mc_list *dmi; 626 struct netdev_hw_addr *ha;
628 int num_addrs = netdev_mc_count(dev); 627 int num_addrs = netdev_mc_count(dev);
629 628
630 ptr = (void *) ((char *) p->scb + sizeof(struct scb_struct)); 629 ptr = (void *) ((char *) p->scb + sizeof(struct scb_struct));
@@ -787,8 +786,9 @@ static int init586(struct net_device *dev)
787 mc_cmd->cmd_link = 0xffff; 786 mc_cmd->cmd_link = 0xffff;
788 mc_cmd->mc_cnt = num_addrs * 6; 787 mc_cmd->mc_cnt = num_addrs * 6;
789 i = 0; 788 i = 0;
790 netdev_for_each_mc_addr(dmi, dev) 789 netdev_for_each_mc_addr(ha, dev)
791 memcpy((char *) mc_cmd->mc_list[i++], dmi->dmi_addr, 6); 790 memcpy((char *) mc_cmd->mc_list[i++],
791 ha->addr, 6);
792 p->scb->cbl_offset = make16(mc_cmd); 792 p->scb->cbl_offset = make16(mc_cmd);
793 p->scb->cmd = CUC_START; 793 p->scb->cmd = CUC_START;
794 elmc_id_attn586(); 794 elmc_id_attn586();
@@ -1152,7 +1152,6 @@ static netdev_tx_t elmc_send_packet(struct sk_buff *skb, struct net_device *dev)
1152 p->scb->cmd = CUC_START; 1152 p->scb->cmd = CUC_START;
1153 p->xmit_cmds[0]->cmd_status = 0; 1153 p->xmit_cmds[0]->cmd_status = 0;
1154 elmc_attn586(); 1154 elmc_attn586();
1155 dev->trans_start = jiffies;
1156 if (!i) { 1155 if (!i) {
1157 dev_kfree_skb(skb); 1156 dev_kfree_skb(skb);
1158 } 1157 }
@@ -1176,7 +1175,6 @@ static netdev_tx_t elmc_send_packet(struct sk_buff *skb, struct net_device *dev)
1176 p->xmit_cmds[0]->cmd_status = p->nop_cmds[next_nop]->cmd_status = 0; 1175 p->xmit_cmds[0]->cmd_status = p->nop_cmds[next_nop]->cmd_status = 0;
1177 1176
1178 p->nop_cmds[p->nop_point]->cmd_link = make16((p->xmit_cmds[0])); 1177 p->nop_cmds[p->nop_point]->cmd_link = make16((p->xmit_cmds[0]));
1179 dev->trans_start = jiffies;
1180 p->nop_point = next_nop; 1178 p->nop_point = next_nop;
1181 dev_kfree_skb(skb); 1179 dev_kfree_skb(skb);
1182#endif 1180#endif
@@ -1190,7 +1188,6 @@ static netdev_tx_t elmc_send_packet(struct sk_buff *skb, struct net_device *dev)
1190 = make16((p->nop_cmds[next_nop])); 1188 = make16((p->nop_cmds[next_nop]));
1191 p->nop_cmds[next_nop]->cmd_status = 0; 1189 p->nop_cmds[next_nop]->cmd_status = 0;
1192 p->nop_cmds[p->xmit_count]->cmd_link = make16((p->xmit_cmds[p->xmit_count])); 1190 p->nop_cmds[p->xmit_count]->cmd_link = make16((p->xmit_cmds[p->xmit_count]));
1193 dev->trans_start = jiffies;
1194 p->xmit_count = next_nop; 1191 p->xmit_count = next_nop;
1195 if (p->xmit_count != p->xmit_last) 1192 if (p->xmit_count != p->xmit_last)
1196 netif_wake_queue(dev); 1193 netif_wake_queue(dev);