diff options
Diffstat (limited to 'drivers/net/3c523.c')
-rw-r--r-- | drivers/net/3c523.c | 11 |
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); |