diff options
author | obrien <obrien@FreeBSD.org> | 1999-05-14 01:53:32 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 1999-05-14 01:53:32 +0000 |
commit | 69dc47ea9cf260e70c138886b219c0987dcfaa51 (patch) | |
tree | 23402666679c21f64dc927403fdced290e318c7d /sys/dev/xe | |
parent | 938ae8acb29631974c58a30623e0ca628578e786 (diff) | |
download | FreeBSD-src-69dc47ea9cf260e70c138886b219c0987dcfaa51.zip FreeBSD-src-69dc47ea9cf260e70c138886b219c0987dcfaa51.tar.gz |
Virgin import of Xircom PCCARD driver v1.16.
v1.16 (1999/03/08) fixed BPF input hang and infinite loop on CE2
short-packet output.
Developed by: Scott Mitchell <scott@uk.freebsd.org>
Obtained from: http://www.freebsd-uk.eu.org/~scott/xe_drv/
Diffstat (limited to 'sys/dev/xe')
-rw-r--r-- | sys/dev/xe/if_xe.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/xe/if_xe.c b/sys/dev/xe/if_xe.c index 0911cfb..776eb32 100644 --- a/sys/dev/xe/if_xe.c +++ b/sys/dev/xe/if_xe.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_xe.c,v 1.15 1999/03/05 12:11:40 root Exp $ + * $Id: if_xe.c,v 1.16 1999/03/08 16:28:50 root Exp $ */ /* @@ -1112,8 +1112,8 @@ xe_card_intr(struct pccard_devinfo *devi) { mbp->m_data += ETHER_HDR_LEN; /* Strip off Ethernet header */ ether_input(ifp, ehp, mbp); /* Send the packet on its way */ ifp->if_ipackets++; /* Success! */ - XE_OUTW(XE_DOR, 0x8000); /* skip_rx_packet command */ } + XE_OUTW(XE_DOR, 0x8000); /* skip_rx_packet command */ } } else if (rsr & XE_RSR_LONG_PKT) { /* Packet length >1518 bytes */ @@ -1829,8 +1829,10 @@ xe_pio_write_packet(struct xe_softc *scp, struct mbuf *mbp) { if (scp->ce3) XE_OUTB(XE_CR, XE_CR_TX_PACKET|XE_CR_ENABLE_INTR); else - while (pad > 0) - XE_OUTW(XE_EDP, 0xfeed); + while (pad > 0) { + XE_OUTW(XE_EDP, 0xdead); + pad--; + } return 0; } |