Intel XL710 broken link down detection?

Ryan Stone rysto32 at gmail.com
Wed Nov 11 16:31:43 UTC 2015


On Wed, Nov 11, 2015 at 11:18 AM, Steven Hartland <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


More information about the freebsd-net mailing list