diff options
Diffstat (limited to 'drivers/net/ewrk3.c')
-rw-r--r-- | drivers/net/ewrk3.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/net/ewrk3.c b/drivers/net/ewrk3.c index 91e59f3a9d6d..380d0614a89a 100644 --- a/drivers/net/ewrk3.c +++ b/drivers/net/ewrk3.c | |||
@@ -757,7 +757,7 @@ static void ewrk3_timeout(struct net_device *dev) | |||
757 | */ | 757 | */ |
758 | ENABLE_IRQs; | 758 | ENABLE_IRQs; |
759 | 759 | ||
760 | dev->trans_start = jiffies; | 760 | dev->trans_start = jiffies; /* prevent tx timeout */ |
761 | netif_wake_queue(dev); | 761 | netif_wake_queue(dev); |
762 | } | 762 | } |
763 | } | 763 | } |
@@ -862,7 +862,6 @@ static netdev_tx_t ewrk3_queue_pkt(struct sk_buff *skb, struct net_device *dev) | |||
862 | spin_unlock_irq (&lp->hw_lock); | 862 | spin_unlock_irq (&lp->hw_lock); |
863 | 863 | ||
864 | dev->stats.tx_bytes += skb->len; | 864 | dev->stats.tx_bytes += skb->len; |
865 | dev->trans_start = jiffies; | ||
866 | dev_kfree_skb (skb); | 865 | dev_kfree_skb (skb); |
867 | 866 | ||
868 | /* Check for free resources: stop Tx queue if there are none */ | 867 | /* Check for free resources: stop Tx queue if there are none */ |
@@ -1169,7 +1168,7 @@ static void set_multicast_list(struct net_device *dev) | |||
1169 | static void SetMulticastFilter(struct net_device *dev) | 1168 | static void SetMulticastFilter(struct net_device *dev) |
1170 | { | 1169 | { |
1171 | struct ewrk3_private *lp = netdev_priv(dev); | 1170 | struct ewrk3_private *lp = netdev_priv(dev); |
1172 | struct dev_mc_list *dmi; | 1171 | struct netdev_hw_addr *ha; |
1173 | u_long iobase = dev->base_addr; | 1172 | u_long iobase = dev->base_addr; |
1174 | int i; | 1173 | int i; |
1175 | char *addrs, bit, byte; | 1174 | char *addrs, bit, byte; |
@@ -1213,8 +1212,8 @@ static void SetMulticastFilter(struct net_device *dev) | |||
1213 | } | 1212 | } |
1214 | 1213 | ||
1215 | /* Update table */ | 1214 | /* Update table */ |
1216 | netdev_for_each_mc_addr(dmi, dev) { | 1215 | netdev_for_each_mc_addr(ha, dev) { |
1217 | addrs = dmi->dmi_addr; | 1216 | addrs = ha->addr; |
1218 | if ((*addrs & 0x01) == 1) { /* multicast address? */ | 1217 | if ((*addrs & 0x01) == 1) { /* multicast address? */ |
1219 | crc = ether_crc_le(ETH_ALEN, addrs); | 1218 | crc = ether_crc_le(ETH_ALEN, addrs); |
1220 | hashcode = crc & ((1 << 9) - 1); /* hashcode is 9 LSb of CRC */ | 1219 | hashcode = crc & ((1 << 9) - 1); /* hashcode is 9 LSb of CRC */ |
@@ -1370,8 +1369,6 @@ static void __init EthwrkSignature(char *name, char *eeprom_image) | |||
1370 | name[EWRK3_STRLEN] = '\0'; | 1369 | name[EWRK3_STRLEN] = '\0'; |
1371 | } else | 1370 | } else |
1372 | name[0] = '\0'; | 1371 | name[0] = '\0'; |
1373 | |||
1374 | return; | ||
1375 | } | 1372 | } |
1376 | 1373 | ||
1377 | /* | 1374 | /* |
@@ -1776,8 +1773,7 @@ static int ewrk3_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | |||
1776 | break; | 1773 | break; |
1777 | case EWRK3_SET_MCA: /* Set a multicast address */ | 1774 | case EWRK3_SET_MCA: /* Set a multicast address */ |
1778 | if (capable(CAP_NET_ADMIN)) { | 1775 | if (capable(CAP_NET_ADMIN)) { |
1779 | if (ioc->len > 1024) | 1776 | if (ioc->len > HASH_TABLE_LEN) { |
1780 | { | ||
1781 | status = -EINVAL; | 1777 | status = -EINVAL; |
1782 | break; | 1778 | break; |
1783 | } | 1779 | } |