The previous change (to use bus_space_read_2), was broken because it was

reading from an odd offset. From Robert Elz
This commit is contained in:
christos 2005-10-23 20:03:04 +00:00
parent a751ffb4fe
commit 8f370e24ef

View File

@ -1,4 +1,4 @@
/* $NetBSD: elinkxl.c,v 1.84 2005/10/04 17:37:26 christos Exp $ */
/* $NetBSD: elinkxl.c,v 1.85 2005/10/23 20:03:04 christos Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: elinkxl.c,v 1.84 2005/10/04 17:37:26 christos Exp $");
__KERNEL_RCSID(0, "$NetBSD: elinkxl.c,v 1.85 2005/10/23 20:03:04 christos Exp $");
#include "bpfilter.h"
#include "rnd.h"
@ -793,8 +793,8 @@ ex_txstat(sc)
* XXX: Big Endian? Can we assume that TXSTATUS will be the
* upper byte?
*/
while ((i = bus_space_read_2(iot, ioh, ELINK_TXSTATUS)) & TXS_COMPLETE) {
bus_space_write_2(iot, ioh, ELINK_TXSTATUS, 0x0);
while ((i = bus_space_read_2(iot, ioh, ELINK_TIMER)) & TXS_COMPLETE) {
bus_space_write_2(iot, ioh, ELINK_TIMER, 0x0);
if (i & TXS_JABBER) {
++sc->sc_ethercom.ec_if.if_oerrors;