patch-1.3.47 linux/drivers/net/8390.c
Next file: linux/drivers/net/arcnet.c
Previous file: linux/drivers/net/3c503.c
Back to the patch index
Back to the overall index
- Lines: 30
- Date:
Mon Dec 11 15:41:12 1995
- Orig file:
v1.3.46/linux/drivers/net/8390.c
- Orig date:
Mon Nov 27 12:48:30 1995
diff -u --recursive --new-file v1.3.46/linux/drivers/net/8390.c linux/drivers/net/8390.c
@@ -32,8 +32,6 @@
Much of this code should have been cleaned up, but every attempt
has broken some clone part.
- Doesn't currently work on all shared memory cards.
-
Sources:
The National Semiconductor LAN Databook, and the 3Com 3c503 databook.
*/
@@ -512,8 +510,9 @@
if (rx_pkt_count > high_water_mark)
high_water_mark = rx_pkt_count;
- /* Bug alert! Reset ENISR_OVER to avoid spurious overruns! */
- outb_p(ENISR_RX+ENISR_RX_ERR+ENISR_OVER, e8390_base+EN0_ISR);
+ /* We used to also ack ENISR_OVER here, but that would sometimes mask
+ a real overrun, leaving the 8390 in a stopped state with rec'vr off. */
+ outb_p(ENISR_RX+ENISR_RX_ERR, e8390_base+EN0_ISR);
return;
}
@@ -550,7 +549,7 @@
/* Remove packets right away. */
ei_receive(dev);
- outb_p(0xff, e8390_base+EN0_ISR);
+ outb_p(ENISR_OVER, e8390_base+EN0_ISR);
/* Generic 8390 insns to start up again, same as in open_8390(). */
outb_p(E8390_NODMA + E8390_PAGE0 + E8390_START, e8390_base + E8390_CMD);
outb_p(E8390_TXCONFIG, e8390_base + EN0_TXCR); /* xmit on. */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this