patch-2.4.13 linux/drivers/net/tulip/interrupt.c
Next file: linux/drivers/net/tulip/tulip_core.c
Previous file: linux/drivers/net/sunqe.c
Back to the patch index
Back to the overall index
- Lines: 29
- Date:
Tue Oct 16 21:56:29 2001
- Orig file:
v2.4.12/linux/drivers/net/tulip/interrupt.c
- Orig date:
Tue Oct 9 17:06:52 2001
diff -u --recursive --new-file v2.4.12/linux/drivers/net/tulip/interrupt.c linux/drivers/net/tulip/interrupt.c
@@ -301,7 +301,7 @@
long ioaddr = dev->base_addr;
int csr5;
int entry;
- int csr8;
+ int missed;
int rx = 0;
int tx = 0;
int oi = 0;
@@ -434,6 +434,7 @@
}
}
if (csr5 & RxDied) { /* Missed a Rx frame. */
+ tp->stats.rx_missed_errors += inl(ioaddr + CSR8) & 0xffff;
#ifdef CONFIG_NET_HW_FLOWCONTROL
if (tp->fc_bit && !test_bit(tp->fc_bit, &netdev_fc_xoff)) {
tp->stats.rx_errors++;
@@ -547,8 +548,9 @@
}
}
- csr8 = inl(ioaddr + CSR8);
- tp->stats.rx_dropped += (csr8 & 0x1ffff) + ((csr8 >> 17) & 0xfff);
+ if ((missed = inl(ioaddr + CSR8) & 0x1ffff)) {
+ tp->stats.rx_dropped += missed & 0x10000 ? 0x10000 : missed;
+ }
if (tulip_debug > 4)
printk(KERN_DEBUG "%s: exiting interrupt, csr5=%#4.4x.\n",
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)