I've observed that the sf(4) driver sometimes emits "device timeout"
messages every few seconds forever.It appears that after some errors,
the driver resets the chip without resetting the counter which triggers
the timeout message. The following patch clears the "output in progress"
counter in the code which stops output.

in sf_stop:
cvs diff -c aic6915.c
Index: aic6915.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/aic6915.c,v
retrieving revision 1.3
diff -c -r1.3 aic6915.c
*** aic6915.c   15 Dec 2006 15:28:27 -0000      1.3
--- aic6915.c   16 Jan 2008 14:35:07 -0000
***************
*** 1245,1250 ****
--- 1245,1251 ----
                        ds->ds_mbuf = NULL;
                }
        }
+       sc->sc_txpending = 0;

        if (disable)
                sf_rxdrain(sc);

Reply via email to