diff options
Diffstat (limited to 'drivers/net/3c505.c')
-rw-r--r-- | drivers/net/3c505.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/net/3c505.c b/drivers/net/3c505.c index 29b8d1d63bde..88d766ee0e1b 100644 --- a/drivers/net/3c505.c +++ b/drivers/net/3c505.c | |||
@@ -1055,7 +1055,7 @@ static void elp_timeout(struct net_device *dev) | |||
1055 | (stat & ACRF) ? "interrupt" : "command"); | 1055 | (stat & ACRF) ? "interrupt" : "command"); |
1056 | if (elp_debug >= 1) | 1056 | if (elp_debug >= 1) |
1057 | pr_debug("%s: status %#02x\n", dev->name, stat); | 1057 | pr_debug("%s: status %#02x\n", dev->name, stat); |
1058 | dev->trans_start = jiffies; | 1058 | dev->trans_start = jiffies; /* prevent tx timeout */ |
1059 | dev->stats.tx_dropped++; | 1059 | dev->stats.tx_dropped++; |
1060 | netif_wake_queue(dev); | 1060 | netif_wake_queue(dev); |
1061 | } | 1061 | } |
@@ -1093,11 +1093,6 @@ static netdev_tx_t elp_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1093 | if (elp_debug >= 3) | 1093 | if (elp_debug >= 3) |
1094 | pr_debug("%s: packet of length %d sent\n", dev->name, (int) skb->len); | 1094 | pr_debug("%s: packet of length %d sent\n", dev->name, (int) skb->len); |
1095 | 1095 | ||
1096 | /* | ||
1097 | * start the transmit timeout | ||
1098 | */ | ||
1099 | dev->trans_start = jiffies; | ||
1100 | |||
1101 | prime_rx(dev); | 1096 | prime_rx(dev); |
1102 | spin_unlock_irqrestore(&adapter->lock, flags); | 1097 | spin_unlock_irqrestore(&adapter->lock, flags); |
1103 | netif_start_queue(dev); | 1098 | netif_start_queue(dev); |
@@ -1216,7 +1211,7 @@ static int elp_close(struct net_device *dev) | |||
1216 | static void elp_set_mc_list(struct net_device *dev) | 1211 | static void elp_set_mc_list(struct net_device *dev) |
1217 | { | 1212 | { |
1218 | elp_device *adapter = netdev_priv(dev); | 1213 | elp_device *adapter = netdev_priv(dev); |
1219 | struct dev_mc_list *dmi; | 1214 | struct netdev_hw_addr *ha; |
1220 | int i; | 1215 | int i; |
1221 | unsigned long flags; | 1216 | unsigned long flags; |
1222 | 1217 | ||
@@ -1231,8 +1226,9 @@ static void elp_set_mc_list(struct net_device *dev) | |||
1231 | adapter->tx_pcb.command = CMD_LOAD_MULTICAST_LIST; | 1226 | adapter->tx_pcb.command = CMD_LOAD_MULTICAST_LIST; |
1232 | adapter->tx_pcb.length = 6 * netdev_mc_count(dev); | 1227 | adapter->tx_pcb.length = 6 * netdev_mc_count(dev); |
1233 | i = 0; | 1228 | i = 0; |
1234 | netdev_for_each_mc_addr(dmi, dev) | 1229 | netdev_for_each_mc_addr(ha, dev) |
1235 | memcpy(adapter->tx_pcb.data.multicast[i++], dmi->dmi_addr, 6); | 1230 | memcpy(adapter->tx_pcb.data.multicast[i++], |
1231 | ha->addr, 6); | ||
1236 | adapter->got[CMD_LOAD_MULTICAST_LIST] = 0; | 1232 | adapter->got[CMD_LOAD_MULTICAST_LIST] = 0; |
1237 | if (!send_pcb(dev, &adapter->tx_pcb)) | 1233 | if (!send_pcb(dev, &adapter->tx_pcb)) |
1238 | pr_err("%s: couldn't send set_multicast command\n", dev->name); | 1234 | pr_err("%s: couldn't send set_multicast command\n", dev->name); |