Intel XL710 broken link down detection?
Steven Hartland
steven at multiplay.co.uk
Thu Nov 12 09:52:18 UTC 2015
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 at multiplay.co.uk <mailto:steven at 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>
>
More information about the freebsd-net
mailing list