RE: v4.15-rc2 on thinkpad x60: ethernet stopped working

From: Keller, Jacob E
Date: Fri Dec 15 2017 - 12:30:45 EST


> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces@xxxxxxxxxx] On Behalf Of
> Keller, Jacob E
> Sent: Friday, December 15, 2017 9:29 AM
> To: Gabriel C <nix.or.die@xxxxxxxxx>; Pavel Machek <pavel@xxxxxx>; kernel list
> <linux-kernel@xxxxxxxxxxxxxxx>
> Cc: netdev@xxxxxxxxxxxxxxx; intel-wired-lan@xxxxxxxxxxxxxxxx
> Subject: Re: [Intel-wired-lan] v4.15-rc2 on thinkpad x60: ethernet stopped
> working
>
> > -----Original Message-----
> > From: netdev-owner@xxxxxxxxxxxxxxx [mailto:netdev-
> owner@xxxxxxxxxxxxxxx]
> > On Behalf Of Gabriel C
> > Sent: Sunday, December 10, 2017 4:44 AM
> > To: Pavel Machek <pavel@xxxxxx>; kernel list <linux-kernel@xxxxxxxxxxxxxxx>
> > Cc: Kirsher, Jeffrey T <jeffrey.t.kirsher@xxxxxxxxx>; intel-wired-
> > lan@xxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx
> > Subject: Re: v4.15-rc2 on thinkpad x60: ethernet stopped working
> >
> > On 10.12.2017 09:39, Pavel Machek wrote:
> > > Hi!
> >
> > Hi,
> >
> > > In v4.15-rc2+, network manager can not see my ethernet card, and
> > > manual attempts to ifconfig it up did not really help, either.
> > >
> > > Card is:
> > >
> > > 02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
> > > Controller
> > >
> > > Dmesg says:
> > >
> > > dmesg | grep eth
> > > [ 0.648931] e1000e 0000:02:00.0 eth0: (PCI Express:2.5GT/s:Width
> > > x1) 00:16:d3:25:19:04
> > > [ 0.648934] e1000e 0000:02:00.0 eth0: Intel(R) PRO/1000 Network
> > > Connection
> > > [ 0.649012] e1000e 0000:02:00.0 eth0: MAC: 2, PHY: 2, PBA No:
> > > 005302-003
> > > [ 0.706510] usbcore: registered new interface driver cdc_ether
> > > [ 6.557022] e1000e 0000:02:00.0 eth1: renamed from eth0
> > > [ 6.577554] systemd-udevd[2363]: renamed network interface eth0 to
> > > eth1
> > >
> > > Any ideas ?
> >
> > Yes , 19110cfbb34d4af0cdfe14cd243f3b09dc95b013 broke it.
> >
> > See:
> > https://bugzilla.kernel.org/show_bug.cgi?id=198047
> >
> > Fix there :
> > https://marc.info/?l=linux-kernel&m=151272209903675&w=2
> >
> > Regards,
> >
> > Gabriel C
>
> Hi,
>
> Digging into this, the problem is complicated. The original bug assumed behavior
> of the .check_for_link call, which is universally not implemented.
>
> I think the correct fix is to revert 19110cfbb34d ("e1000e: Separate signaling for
> link check/link up", 2017-10-10) and find a more proper solution.
>
> I don't think any other code which uses check_for_link expects the interface to
> return in the way this patch attempted.
>
> Thanks,
> Jake
>

Alternatively, we can go a step farther and make sure every implementation of .check_for_link follows the modified interface.

Thanks,
Jake