Loading drivers/net/ns83820.c +22 −22 Original line number Diff line number Diff line Loading @@ -424,7 +424,6 @@ struct rx_info { struct ns83820 { struct net_device_stats stats; u8 __iomem *base; struct pci_dev *pci_dev; Loading Loading @@ -918,9 +917,9 @@ static void rx_irq(struct net_device *ndev) if (unlikely(!skb)) goto netdev_mangle_me_harder_failed; if (cmdsts & CMDSTS_DEST_MULTI) dev->stats.multicast ++; dev->stats.rx_packets ++; dev->stats.rx_bytes += len; ndev->stats.multicast++; ndev->stats.rx_packets++; ndev->stats.rx_bytes += len; if ((extsts & 0x002a0000) && !(extsts & 0x00540000)) { skb->ip_summed = CHECKSUM_UNNECESSARY; } else { Loading @@ -940,7 +939,7 @@ static void rx_irq(struct net_device *ndev) #endif if (NET_RX_DROP == rx_rc) { netdev_mangle_me_harder_failed: dev->stats.rx_dropped ++; ndev->stats.rx_dropped++; } } else { kfree_skb(skb); Loading Loading @@ -1008,11 +1007,11 @@ static void do_tx_done(struct net_device *ndev) dma_addr_t addr; if (cmdsts & CMDSTS_ERR) dev->stats.tx_errors ++; ndev->stats.tx_errors++; if (cmdsts & CMDSTS_OK) dev->stats.tx_packets ++; ndev->stats.tx_packets++; if (cmdsts & CMDSTS_OK) dev->stats.tx_bytes += cmdsts & 0xffff; ndev->stats.tx_bytes += cmdsts & 0xffff; dprintk("tx_done_idx=%d free_idx=%d cmdsts=%08x\n", tx_done_idx, dev->tx_free_idx, cmdsts); Loading Loading @@ -1212,20 +1211,21 @@ static netdev_tx_t ns83820_hard_start_xmit(struct sk_buff *skb, static void ns83820_update_stats(struct ns83820 *dev) { struct net_device *ndev = dev->ndev; u8 __iomem *base = dev->base; /* the DP83820 will freeze counters, so we need to read all of them */ dev->stats.rx_errors += readl(base + 0x60) & 0xffff; dev->stats.rx_crc_errors += readl(base + 0x64) & 0xffff; dev->stats.rx_missed_errors += readl(base + 0x68) & 0xffff; dev->stats.rx_frame_errors += readl(base + 0x6c) & 0xffff; /*dev->stats.rx_symbol_errors +=*/ readl(base + 0x70); dev->stats.rx_length_errors += readl(base + 0x74) & 0xffff; dev->stats.rx_length_errors += readl(base + 0x78) & 0xffff; /*dev->stats.rx_badopcode_errors += */ readl(base + 0x7c); /*dev->stats.rx_pause_count += */ readl(base + 0x80); /*dev->stats.tx_pause_count += */ readl(base + 0x84); dev->stats.tx_carrier_errors += readl(base + 0x88) & 0xff; ndev->stats.rx_errors += readl(base + 0x60) & 0xffff; ndev->stats.rx_crc_errors += readl(base + 0x64) & 0xffff; ndev->stats.rx_missed_errors += readl(base + 0x68) & 0xffff; ndev->stats.rx_frame_errors += readl(base + 0x6c) & 0xffff; /*ndev->stats.rx_symbol_errors +=*/ readl(base + 0x70); ndev->stats.rx_length_errors += readl(base + 0x74) & 0xffff; ndev->stats.rx_length_errors += readl(base + 0x78) & 0xffff; /*ndev->stats.rx_badopcode_errors += */ readl(base + 0x7c); /*ndev->stats.rx_pause_count += */ readl(base + 0x80); /*ndev->stats.tx_pause_count += */ readl(base + 0x84); ndev->stats.tx_carrier_errors += readl(base + 0x88) & 0xff; } static struct net_device_stats *ns83820_get_stats(struct net_device *ndev) Loading @@ -1237,7 +1237,7 @@ static struct net_device_stats *ns83820_get_stats(struct net_device *ndev) ns83820_update_stats(dev); spin_unlock_irq(&dev->misc_lock); return &dev->stats; return &ndev->stats; } /* Let ethtool retrieve info */ Loading Loading @@ -1464,12 +1464,12 @@ static void ns83820_do_isr(struct net_device *ndev, u32 isr) if (unlikely(ISR_RXSOVR & isr)) { //printk("overrun: rxsovr\n"); dev->stats.rx_fifo_errors ++; ndev->stats.rx_fifo_errors++; } if (unlikely(ISR_RXORN & isr)) { //printk("overrun: rxorn\n"); dev->stats.rx_fifo_errors ++; ndev->stats.rx_fifo_errors++; } if ((ISR_RXRCMP & isr) && dev->rx_info.up) Loading Loading
drivers/net/ns83820.c +22 −22 Original line number Diff line number Diff line Loading @@ -424,7 +424,6 @@ struct rx_info { struct ns83820 { struct net_device_stats stats; u8 __iomem *base; struct pci_dev *pci_dev; Loading Loading @@ -918,9 +917,9 @@ static void rx_irq(struct net_device *ndev) if (unlikely(!skb)) goto netdev_mangle_me_harder_failed; if (cmdsts & CMDSTS_DEST_MULTI) dev->stats.multicast ++; dev->stats.rx_packets ++; dev->stats.rx_bytes += len; ndev->stats.multicast++; ndev->stats.rx_packets++; ndev->stats.rx_bytes += len; if ((extsts & 0x002a0000) && !(extsts & 0x00540000)) { skb->ip_summed = CHECKSUM_UNNECESSARY; } else { Loading @@ -940,7 +939,7 @@ static void rx_irq(struct net_device *ndev) #endif if (NET_RX_DROP == rx_rc) { netdev_mangle_me_harder_failed: dev->stats.rx_dropped ++; ndev->stats.rx_dropped++; } } else { kfree_skb(skb); Loading Loading @@ -1008,11 +1007,11 @@ static void do_tx_done(struct net_device *ndev) dma_addr_t addr; if (cmdsts & CMDSTS_ERR) dev->stats.tx_errors ++; ndev->stats.tx_errors++; if (cmdsts & CMDSTS_OK) dev->stats.tx_packets ++; ndev->stats.tx_packets++; if (cmdsts & CMDSTS_OK) dev->stats.tx_bytes += cmdsts & 0xffff; ndev->stats.tx_bytes += cmdsts & 0xffff; dprintk("tx_done_idx=%d free_idx=%d cmdsts=%08x\n", tx_done_idx, dev->tx_free_idx, cmdsts); Loading Loading @@ -1212,20 +1211,21 @@ static netdev_tx_t ns83820_hard_start_xmit(struct sk_buff *skb, static void ns83820_update_stats(struct ns83820 *dev) { struct net_device *ndev = dev->ndev; u8 __iomem *base = dev->base; /* the DP83820 will freeze counters, so we need to read all of them */ dev->stats.rx_errors += readl(base + 0x60) & 0xffff; dev->stats.rx_crc_errors += readl(base + 0x64) & 0xffff; dev->stats.rx_missed_errors += readl(base + 0x68) & 0xffff; dev->stats.rx_frame_errors += readl(base + 0x6c) & 0xffff; /*dev->stats.rx_symbol_errors +=*/ readl(base + 0x70); dev->stats.rx_length_errors += readl(base + 0x74) & 0xffff; dev->stats.rx_length_errors += readl(base + 0x78) & 0xffff; /*dev->stats.rx_badopcode_errors += */ readl(base + 0x7c); /*dev->stats.rx_pause_count += */ readl(base + 0x80); /*dev->stats.tx_pause_count += */ readl(base + 0x84); dev->stats.tx_carrier_errors += readl(base + 0x88) & 0xff; ndev->stats.rx_errors += readl(base + 0x60) & 0xffff; ndev->stats.rx_crc_errors += readl(base + 0x64) & 0xffff; ndev->stats.rx_missed_errors += readl(base + 0x68) & 0xffff; ndev->stats.rx_frame_errors += readl(base + 0x6c) & 0xffff; /*ndev->stats.rx_symbol_errors +=*/ readl(base + 0x70); ndev->stats.rx_length_errors += readl(base + 0x74) & 0xffff; ndev->stats.rx_length_errors += readl(base + 0x78) & 0xffff; /*ndev->stats.rx_badopcode_errors += */ readl(base + 0x7c); /*ndev->stats.rx_pause_count += */ readl(base + 0x80); /*ndev->stats.tx_pause_count += */ readl(base + 0x84); ndev->stats.tx_carrier_errors += readl(base + 0x88) & 0xff; } static struct net_device_stats *ns83820_get_stats(struct net_device *ndev) Loading @@ -1237,7 +1237,7 @@ static struct net_device_stats *ns83820_get_stats(struct net_device *ndev) ns83820_update_stats(dev); spin_unlock_irq(&dev->misc_lock); return &dev->stats; return &ndev->stats; } /* Let ethtool retrieve info */ Loading Loading @@ -1464,12 +1464,12 @@ static void ns83820_do_isr(struct net_device *ndev, u32 isr) if (unlikely(ISR_RXSOVR & isr)) { //printk("overrun: rxsovr\n"); dev->stats.rx_fifo_errors ++; ndev->stats.rx_fifo_errors++; } if (unlikely(ISR_RXORN & isr)) { //printk("overrun: rxorn\n"); dev->stats.rx_fifo_errors ++; ndev->stats.rx_fifo_errors++; } if ((ISR_RXRCMP & isr) && dev->rx_info.up) Loading