diff options
Diffstat (limited to 'drivers/net/fealnx.c')
-rw-r--r-- | drivers/net/fealnx.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/fealnx.c b/drivers/net/fealnx.c index d11ae5197f01..15f4f8d3d46d 100644 --- a/drivers/net/fealnx.c +++ b/drivers/net/fealnx.c | |||
@@ -1233,7 +1233,7 @@ static void fealnx_tx_timeout(struct net_device *dev) | |||
1233 | 1233 | ||
1234 | spin_unlock_irqrestore(&np->lock, flags); | 1234 | spin_unlock_irqrestore(&np->lock, flags); |
1235 | 1235 | ||
1236 | dev->trans_start = jiffies; | 1236 | dev->trans_start = jiffies; /* prevent tx timeout */ |
1237 | np->stats.tx_errors++; | 1237 | np->stats.tx_errors++; |
1238 | netif_wake_queue(dev); /* or .._start_.. ?? */ | 1238 | netif_wake_queue(dev); /* or .._start_.. ?? */ |
1239 | } | 1239 | } |
@@ -1374,7 +1374,6 @@ static netdev_tx_t start_tx(struct sk_buff *skb, struct net_device *dev) | |||
1374 | netif_stop_queue(dev); | 1374 | netif_stop_queue(dev); |
1375 | ++np->really_tx_count; | 1375 | ++np->really_tx_count; |
1376 | iowrite32(0, np->mem + TXPDR); | 1376 | iowrite32(0, np->mem + TXPDR); |
1377 | dev->trans_start = jiffies; | ||
1378 | 1377 | ||
1379 | spin_unlock_irqrestore(&np->lock, flags); | 1378 | spin_unlock_irqrestore(&np->lock, flags); |
1380 | return NETDEV_TX_OK; | 1379 | return NETDEV_TX_OK; |
@@ -1791,12 +1790,12 @@ static void __set_rx_mode(struct net_device *dev) | |||
1791 | memset(mc_filter, 0xff, sizeof(mc_filter)); | 1790 | memset(mc_filter, 0xff, sizeof(mc_filter)); |
1792 | rx_mode = CR_W_AB | CR_W_AM; | 1791 | rx_mode = CR_W_AB | CR_W_AM; |
1793 | } else { | 1792 | } else { |
1794 | struct dev_mc_list *mclist; | 1793 | struct netdev_hw_addr *ha; |
1795 | 1794 | ||
1796 | memset(mc_filter, 0, sizeof(mc_filter)); | 1795 | memset(mc_filter, 0, sizeof(mc_filter)); |
1797 | netdev_for_each_mc_addr(mclist, dev) { | 1796 | netdev_for_each_mc_addr(ha, dev) { |
1798 | unsigned int bit; | 1797 | unsigned int bit; |
1799 | bit = (ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26) ^ 0x3F; | 1798 | bit = (ether_crc(ETH_ALEN, ha->addr) >> 26) ^ 0x3F; |
1800 | mc_filter[bit >> 5] |= (1 << bit); | 1799 | mc_filter[bit >> 5] |= (1 << bit); |
1801 | } | 1800 | } |
1802 | rx_mode = CR_W_AB | CR_W_AM; | 1801 | rx_mode = CR_W_AB | CR_W_AM; |