Date: Thu, 12 Nov 2015 09:52:25 +0000 From: Steven Hartland <steven@multiplay.co.uk> To: Ryan Stone <rysto32@gmail.com> Cc: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, Jack F Vogel <jfv@freebsd.org> Subject: Re: Intel XL710 broken link down detection? Message-ID: <56446159.3080405@multiplay.co.uk> In-Reply-To: <CAFMmRNwuc4N%2B6TSCFuknbfYZnMzXuuunFbyeGfyaOzYWxgWfaA@mail.gmail.com> References: <564357E0.1050002@freebsd.org> <56436A5F.4020102@multiplay.co.uk> <CAFMmRNwuc4N%2B6TSCFuknbfYZnMzXuuunFbyeGfyaOzYWxgWfaA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Yes this works but a better way IMO would be to invert the bits we want: https://people.freebsd.org/~smh/ixl_int_init.patch If there are no objections then I'll commit this later today. Also just fixed the debug sysctls from causing panics when compiled with INVARIANTS see: https://svnweb.freebsd.org/base?view=revision&revision=290708 Regards Steve On 11/11/2015 16:31, Ryan Stone wrote: > On Wed, Nov 11, 2015 at 11:18 AM, Steven Hartland > <steven@multiplay.co.uk <mailto:steven@multiplay.co.uk>> wrote: > > Comparing this to the Linux driver which does detect the link down > I've discovered it actually polls the link status by default in > its watchdog. > > Disabling this with "ethtool --set-priv-flags eth1 LinkPolling > off" and the Linux driver also fails to detect link down. > > So this seems like a firmware or even hardware bug where it should > be reporting down events and the Linux driver has been updated to > workaround the problem? > > > No, apparently the Linux devs just didn't read the datasheet closely > enough (and presumably the FreeBSD driver copied the mistake). There > is a mask of interrupt causes that works backwards from how one would > expect; you mask out events that you *don't* want rather than events > that you do want. Both the Linux and FreeBSD drivers pass a mask of > events that they want interrupts for (the only reason why it appears > to work on link up is that the the AN Completed event fires when link > is up, as far as I can tell). Try the following patch: > > https://people.freebsd.org/~rstone/patches/ixl_link_int.diff > <https://people.freebsd.org/%7Erstone/patches/ixl_link_int.diff> >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56446159.3080405>