diff options
author | wpaul <wpaul@FreeBSD.org> | 2003-09-11 07:54:16 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 2003-09-11 07:54:16 +0000 |
commit | 3c39a93877021717f3f9f13a25b0fbff7db25222 (patch) | |
tree | aabb3eb1a67caa24dfea7b376d45c65f9cb9ae39 /sys/dev/re/if_re.c | |
parent | d4a3ccea7c9aa74a42d1df6d9a635c2b8054eaf5 (diff) | |
download | FreeBSD-src-3c39a93877021717f3f9f13a25b0fbff7db25222.zip FreeBSD-src-3c39a93877021717f3f9f13a25b0fbff7db25222.tar.gz |
Toggle the interface on and off before starting the diag test. This
seems to be necessary for the 8139C+ under certain circumstances, and
doesn't appear to hurt the other chips. (In the failure case, the
packet would be sent through the TX DMA ring but not get echoed
back. I suspect this has something to do with the link state changing
unexpectedly.)
Diffstat (limited to 'sys/dev/re/if_re.c')
-rw-r--r-- | sys/dev/re/if_re.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index 6e21d67..e439d3f 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -728,6 +728,9 @@ re_diag(sc) ifp->if_flags |= IFF_PROMISC; sc->rl_testmode = 1; re_init(sc); + re_stop(sc); + DELAY(100000); + re_init(sc); /* Put some data in the mbuf */ |