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