diff options
Diffstat (limited to 'drivers/net/atp.c')
-rw-r--r-- | drivers/net/atp.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/net/atp.c b/drivers/net/atp.c index 55039d44dc47..bd2f9d331dac 100644 --- a/drivers/net/atp.c +++ b/drivers/net/atp.c | |||
@@ -547,7 +547,7 @@ static void tx_timeout(struct net_device *dev) | |||
547 | dev->stats.tx_errors++; | 547 | dev->stats.tx_errors++; |
548 | /* Try to restart the adapter. */ | 548 | /* Try to restart the adapter. */ |
549 | hardware_init(dev); | 549 | hardware_init(dev); |
550 | dev->trans_start = jiffies; | 550 | dev->trans_start = jiffies; /* prevent tx timeout */ |
551 | netif_wake_queue(dev); | 551 | netif_wake_queue(dev); |
552 | dev->stats.tx_errors++; | 552 | dev->stats.tx_errors++; |
553 | } | 553 | } |
@@ -586,7 +586,6 @@ static netdev_tx_t atp_send_packet(struct sk_buff *skb, | |||
586 | write_reg(ioaddr, IMR, ISR_RxOK | ISR_TxErr | ISR_TxOK); | 586 | write_reg(ioaddr, IMR, ISR_RxOK | ISR_TxErr | ISR_TxOK); |
587 | write_reg_high(ioaddr, IMR, ISRh_RxErr); | 587 | write_reg_high(ioaddr, IMR, ISRh_RxErr); |
588 | 588 | ||
589 | dev->trans_start = jiffies; | ||
590 | dev_kfree_skb (skb); | 589 | dev_kfree_skb (skb); |
591 | return NETDEV_TX_OK; | 590 | return NETDEV_TX_OK; |
592 | } | 591 | } |
@@ -803,7 +802,6 @@ static void net_rx(struct net_device *dev) | |||
803 | done: | 802 | done: |
804 | write_reg(ioaddr, CMR1, CMR1_NextPkt); | 803 | write_reg(ioaddr, CMR1, CMR1_NextPkt); |
805 | lp->last_rx_time = jiffies; | 804 | lp->last_rx_time = jiffies; |
806 | return; | ||
807 | } | 805 | } |
808 | 806 | ||
809 | static void read_block(long ioaddr, int length, unsigned char *p, int data_mode) | 807 | static void read_block(long ioaddr, int length, unsigned char *p, int data_mode) |
@@ -882,11 +880,11 @@ static void set_rx_mode_8012(struct net_device *dev) | |||
882 | memset(mc_filter, 0xff, sizeof(mc_filter)); | 880 | memset(mc_filter, 0xff, sizeof(mc_filter)); |
883 | new_mode = CMR2h_Normal; | 881 | new_mode = CMR2h_Normal; |
884 | } else { | 882 | } else { |
885 | struct dev_mc_list *mclist; | 883 | struct netdev_hw_addr *ha; |
886 | 884 | ||
887 | memset(mc_filter, 0, sizeof(mc_filter)); | 885 | memset(mc_filter, 0, sizeof(mc_filter)); |
888 | netdev_for_each_mc_addr(mclist, dev) { | 886 | netdev_for_each_mc_addr(ha, dev) { |
889 | int filterbit = ether_crc_le(ETH_ALEN, mclist->dmi_addr) & 0x3f; | 887 | int filterbit = ether_crc_le(ETH_ALEN, ha->addr) & 0x3f; |
890 | mc_filter[filterbit >> 5] |= 1 << (filterbit & 31); | 888 | mc_filter[filterbit >> 5] |= 1 << (filterbit & 31); |
891 | } | 889 | } |
892 | new_mode = CMR2h_Normal; | 890 | new_mode = CMR2h_Normal; |