diff options
author | Brad Smith <brad@cvs.openbsd.org> | 2008-11-19 08:17:38 +0000 |
---|---|---|
committer | Brad Smith <brad@cvs.openbsd.org> | 2008-11-19 08:17:38 +0000 |
commit | 36f33930903a23c45fdaf1ab5035b71d04e8c526 (patch) | |
tree | b955a3c21ca4f83e4aece8bb444013bec470869c /sys/dev/ic | |
parent | 2e126ab14cf2f2a94f19eed4060eec69a2c9e000 (diff) |
Do not reset TX threshold value whenever xl_init() is called. Instead
the initial threshould is initialized at device attach. Later the
threshold could be increased if encountering a TX underrun error and
the new threshold should be used in xl_init().
From FreeBSD
Tested on quite a few 3c905/B/C/575 adapters.
Diffstat (limited to 'sys/dev/ic')
-rw-r--r-- | sys/dev/ic/xl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/ic/xl.c b/sys/dev/ic/xl.c index cbab3bfd8af..05ba76ceac1 100644 --- a/sys/dev/ic/xl.c +++ b/sys/dev/ic/xl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: xl.c,v 1.82 2008/10/02 20:21:13 brad Exp $ */ +/* $OpenBSD: xl.c,v 1.83 2008/11/19 08:17:37 brad Exp $ */ /* * Copyright (c) 1997, 1998, 1999 @@ -1998,7 +1998,6 @@ xl_init(void *xsc) CSR_WRITE_1(sc, XL_TX_FREETHRESH, XL_PACKET_SIZE >> 8); /* Set the TX start threshold for best performance. */ - sc->xl_tx_thresh = XL_MIN_FRAMELEN; CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_TX_SET_START|sc->xl_tx_thresh); /* @@ -2570,6 +2569,9 @@ xl_attach(struct xl_softc *sc) else sc->xl_type = XL_TYPE_90X; + /* Set the TX start threshold for best performance. */ + sc->xl_tx_thresh = XL_MIN_FRAMELEN; + timeout_set(&sc->xl_stsup_tmo, xl_stats_update, sc); ifp->if_softc = sc; |