freebsd-dev/sys/dev/fxp
Ian Dowse 947e381597 Properly fix the occassional random crash issue that revision 1.142
just limited to the DEVICE_POLLING case. This removes the FXP_RFA_RNRMARK
hack, and replaces it with a softc flag that is used to record when
the handling of a no-resource condition was deferred due to running
out of DEVICE_POLLING cycles. This was tested on -stable, but the
code is essentially the same as in -current. It should only affect
the case where DEVICE_POLLING is defined.

The details of the mechanism behind the crashes are still uncertain
but the most likely cause seems to be some kind of hardware confusion
when the no-resource recovery code is accidentally invoked while
the receiver is still active. This could have happened if the
hardware left the 0x4000 bit of the RFA status word set. The comments
in the commit log for revision 1.142 stating that the driver could
clash with the hardware writing to this status word were not correct.

Tested by:	Guy Helmer <ghelmer@palisadesys.com>
2002-11-07 16:04:07 +00:00
..
if_fxp.c Properly fix the occassional random crash issue that revision 1.142 2002-11-07 16:04:07 +00:00
if_fxpreg.h . Add structure definition for microcode download. 2001-10-25 05:25:58 +00:00
if_fxpvar.h Properly fix the occassional random crash issue that revision 1.142 2002-11-07 16:04:07 +00:00
rcvbundl.h Add Intel's loadable microcode to implement receive side bundling. 2001-10-25 05:23:31 +00:00