aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/depca.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/depca.c')
-rw-r--r--drivers/net/depca.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/depca.c b/drivers/net/depca.c
index 744c1928dfca..38d4d9eefbdd 100644
--- a/drivers/net/depca.c
+++ b/drivers/net/depca.c
@@ -921,7 +921,7 @@ static void depca_tx_timeout(struct net_device *dev)
921 STOP_DEPCA; 921 STOP_DEPCA;
922 depca_init_ring(dev); 922 depca_init_ring(dev);
923 LoadCSRs(dev); 923 LoadCSRs(dev);
924 dev->trans_start = jiffies; 924 dev->trans_start = jiffies; /* prevent tx timeout */
925 netif_wake_queue(dev); 925 netif_wake_queue(dev);
926 InitRestartDepca(dev); 926 InitRestartDepca(dev);
927} 927}
@@ -954,7 +954,6 @@ static netdev_tx_t depca_start_xmit(struct sk_buff *skb,
954 outw(CSR0, DEPCA_ADDR); 954 outw(CSR0, DEPCA_ADDR);
955 outw(INEA | TDMD, DEPCA_DATA); 955 outw(INEA | TDMD, DEPCA_DATA);
956 956
957 dev->trans_start = jiffies;
958 dev_kfree_skb(skb); 957 dev_kfree_skb(skb);
959 } 958 }
960 if (TX_BUFFS_AVAIL) 959 if (TX_BUFFS_AVAIL)
@@ -1272,7 +1271,7 @@ static void set_multicast_list(struct net_device *dev)
1272static void SetMulticastFilter(struct net_device *dev) 1271static void SetMulticastFilter(struct net_device *dev)
1273{ 1272{
1274 struct depca_private *lp = netdev_priv(dev); 1273 struct depca_private *lp = netdev_priv(dev);
1275 struct dev_mc_list *dmi; 1274 struct netdev_hw_addr *ha;
1276 char *addrs; 1275 char *addrs;
1277 int i, j, bit, byte; 1276 int i, j, bit, byte;
1278 u16 hashcode; 1277 u16 hashcode;
@@ -1287,8 +1286,8 @@ static void SetMulticastFilter(struct net_device *dev)
1287 lp->init_block.mcast_table[i] = 0; 1286 lp->init_block.mcast_table[i] = 0;
1288 } 1287 }
1289 /* Add multicast addresses */ 1288 /* Add multicast addresses */
1290 netdev_for_each_mc_addr(dmi, dev) { 1289 netdev_for_each_mc_addr(ha, dev) {
1291 addrs = dmi->dmi_addr; 1290 addrs = ha->addr;
1292 if ((*addrs & 0x01) == 1) { /* multicast address? */ 1291 if ((*addrs & 0x01) == 1) { /* multicast address? */
1293 crc = ether_crc(ETH_ALEN, addrs); 1292 crc = ether_crc(ETH_ALEN, addrs);
1294 hashcode = (crc & 1); /* hashcode is 6 LSb of CRC ... */ 1293 hashcode = (crc & 1); /* hashcode is 6 LSb of CRC ... */