[Bug 253172] Intel e1000 - Interface Stalls After Media Type is Changed
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Wed Feb 10 17:44:09 UTC 2021
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253172
--- Comment #2 from jcaplan at blackberry.com ---
I have observed an underflow in iflib_completed_tx_reclaim where
txq->ift_in_use < reclaim
and as a result
txq->ift_in_use -= reclaim
wraps around to a very high number. once you bring the interface down and up
you reset txq->ift_in_use and everything is fine again.
For e1000, changing media type appears to reset the hardware, so might be best
to avoid the situation in the first place with something like
static int
em_if_media_change(if_ctx_t ctx)
{
struct adapter *adapter = iflib_get_softc(ctx);
struct ifmedia *ifm = iflib_get_media(ctx);
if_t ifp = iflib_get_ifp(ctx);
if (ifp->if_flags & IFF_UP) {
device_printf(iflib_get_dev(ctx),
"%s: cannot change media type while link state is up\n",
__func__);
return EINVAL;
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-net
mailing list