Date: Wed, 10 Feb 2021 17:44:08 +0000 From: bugzilla-noreply@freebsd.org To: net@FreeBSD.org Subject: [Bug 253172] Intel e1000 - Interface Stalls After Media Type is Changed Message-ID: <bug-253172-7501-fetbwPJhLB@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-253172-7501@https.bugs.freebsd.org/bugzilla/> References: <bug-253172-7501@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253172 --- Comment #2 from jcaplan@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-253172-7501-fetbwPJhLB>
