aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sun3_82586.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/sun3_82586.c')
-rw-r--r--drivers/net/sun3_82586.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/net/sun3_82586.c b/drivers/net/sun3_82586.c
index 8b28c89a9a77..151312342243 100644
--- a/drivers/net/sun3_82586.c
+++ b/drivers/net/sun3_82586.c
@@ -412,7 +412,7 @@ static int init586(struct net_device *dev)
412 volatile struct iasetup_cmd_struct *ias_cmd; 412 volatile struct iasetup_cmd_struct *ias_cmd;
413 volatile struct tdr_cmd_struct *tdr_cmd; 413 volatile struct tdr_cmd_struct *tdr_cmd;
414 volatile struct mcsetup_cmd_struct *mc_cmd; 414 volatile struct mcsetup_cmd_struct *mc_cmd;
415 struct dev_mc_list *dmi; 415 struct netdev_hw_addr *ha;
416 int num_addrs=netdev_mc_count(dev); 416 int num_addrs=netdev_mc_count(dev);
417 417
418 ptr = (void *) ((char *)p->scb + sizeof(struct scb_struct)); 418 ptr = (void *) ((char *)p->scb + sizeof(struct scb_struct));
@@ -536,9 +536,9 @@ static int init586(struct net_device *dev)
536 mc_cmd->mc_cnt = swab16(num_addrs * 6); 536 mc_cmd->mc_cnt = swab16(num_addrs * 6);
537 537
538 i = 0; 538 i = 0;
539 netdev_for_each_mc_addr(dmi, dev) 539 netdev_for_each_mc_addr(ha, dev)
540 memcpy((char *) mc_cmd->mc_list[i++], 540 memcpy((char *) mc_cmd->mc_list[i++],
541 dmi->dmi_addr, ETH_ALEN); 541 ha->addr, ETH_ALEN);
542 542
543 p->scb->cbl_offset = make16(mc_cmd); 543 p->scb->cbl_offset = make16(mc_cmd);
544 p->scb->cmd_cuc = CUC_START; 544 p->scb->cmd_cuc = CUC_START;
@@ -985,7 +985,7 @@ static void sun3_82586_timeout(struct net_device *dev)
985 p->scb->cmd_cuc = CUC_START; 985 p->scb->cmd_cuc = CUC_START;
986 sun3_attn586(); 986 sun3_attn586();
987 WAIT_4_SCB_CMD(); 987 WAIT_4_SCB_CMD();
988 dev->trans_start = jiffies; 988 dev->trans_start = jiffies; /* prevent tx timeout */
989 return 0; 989 return 0;
990 } 990 }
991#endif 991#endif
@@ -998,7 +998,7 @@ static void sun3_82586_timeout(struct net_device *dev)
998 sun3_82586_close(dev); 998 sun3_82586_close(dev);
999 sun3_82586_open(dev); 999 sun3_82586_open(dev);
1000 } 1000 }
1001 dev->trans_start = jiffies; 1001 dev->trans_start = jiffies; /* prevent tx timeout */
1002} 1002}
1003 1003
1004/****************************************************** 1004/******************************************************
@@ -1062,7 +1062,6 @@ static int sun3_82586_send_packet(struct sk_buff *skb, struct net_device *dev)
1062 } 1062 }
1063 1063
1064 sun3_attn586(); 1064 sun3_attn586();
1065 dev->trans_start = jiffies;
1066 if(!i) 1065 if(!i)
1067 dev_kfree_skb(skb); 1066 dev_kfree_skb(skb);
1068 WAIT_4_SCB_CMD(); 1067 WAIT_4_SCB_CMD();
@@ -1082,7 +1081,6 @@ static int sun3_82586_send_packet(struct sk_buff *skb, struct net_device *dev)
1082 p->xmit_cmds[0]->cmd_status = p->nop_cmds[next_nop]->cmd_status = 0; 1081 p->xmit_cmds[0]->cmd_status = p->nop_cmds[next_nop]->cmd_status = 0;
1083 1082
1084 p->nop_cmds[p->nop_point]->cmd_link = make16((p->xmit_cmds[0])); 1083 p->nop_cmds[p->nop_point]->cmd_link = make16((p->xmit_cmds[0]));
1085 dev->trans_start = jiffies;
1086 p->nop_point = next_nop; 1084 p->nop_point = next_nop;
1087 dev_kfree_skb(skb); 1085 dev_kfree_skb(skb);
1088# endif 1086# endif
@@ -1097,7 +1095,6 @@ static int sun3_82586_send_packet(struct sk_buff *skb, struct net_device *dev)
1097 p->nop_cmds[next_nop]->cmd_status = 0; 1095 p->nop_cmds[next_nop]->cmd_status = 0;
1098 1096
1099 p->nop_cmds[p->xmit_count]->cmd_link = make16((p->xmit_cmds[p->xmit_count])); 1097 p->nop_cmds[p->xmit_count]->cmd_link = make16((p->xmit_cmds[p->xmit_count]));
1100 dev->trans_start = jiffies;
1101 p->xmit_count = next_nop; 1098 p->xmit_count = next_nop;
1102 1099
1103 { 1100 {