From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Bigonville Subject: Re: [sky2 driver] 88E8056 PCI-E Gigabit Ethernet Controller not working after suspend Date: Wed, 5 Dec 2018 02:07:10 +0100 Message-ID: References: <01fd5a94-37d5-f029-d215-ce143516ab84@bigon.be> <20181009130904.37cec5d0@xeon-e3> <20181010120922.6831b0fe@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit To: netdev@vger.kernel.org Return-path: Received: from ithil.bigon.be ([163.172.57.153]:52750 "EHLO ithil.bigon.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726861AbeLEBHO (ORCPT ); Tue, 4 Dec 2018 20:07:14 -0500 Received: from localhost (localhost [IPv6:::1]) by ithil.bigon.be (Postfix) with ESMTP id 7C76920F79 for ; Wed, 5 Dec 2018 02:07:11 +0100 (CET) Received: from ithil.bigon.be ([IPv6:::1]) by localhost (ithil.bigon.be [IPv6:::1]) (amavisd-new, port 10026) with ESMTP id 0ph1RXA_zTdS for ; Wed, 5 Dec 2018 02:07:11 +0100 (CET) Received: from [IPv6:2a02:a03f:3c96:4800:f21:34c4:31b0:2aa4] (unknown [IPv6:2a02:a03f:3c96:4800:f21:34c4:31b0:2aa4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: bigon@bigon.be) by ithil.bigon.be (Postfix) with ESMTPSA for ; Wed, 5 Dec 2018 02:07:11 +0100 (CET) In-Reply-To: Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: Le 30/11/18 à 12:16, Laurent Bigonville a écrit : > Le 10/10/18 à 21:09, Stephen Hemminger a écrit : >> On Wed, 10 Oct 2018 03:16:40 +0200 >> Laurent Bigonville wrote: >> >>> Le 9/10/18 à 22:09, Stephen Hemminger a écrit : >>>> On Tue, 9 Oct 2018 19:30:30 +0200 >>>> Laurent Bigonville wrote: >>>>> Hello, >>>>> >>>>> On my desktop (Asus MB with dual Ethernet port), when waking up after >>>>> suspend, the network card is not detecting the link. >>>>> >>>>> I have to rmmod the sky2 driver and then modprobing it again. >>>>> >>>>> lspci shows me: >>>>> >>>>> 04:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 >>>>> PCI-E >>>>> Gigabit Ethernet Controller (rev 12) >>>>> 05:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 >>>>> PCI-E >>>>> Gigabit Ethernet Controller (rev 12) >>>>> >>>>> An idea what's wrong here? >>>>> >>>>> Kind regards, >>>>> >>>>> Laurent Bigonville >>>> I used to have that motherboard (about 8 years ago). Long dead by now. >>>> >>>> There was some issue with how the power management worked. Forgot >>>> the workaround, >>>> you might have to dig in the mailing list archive. >>> I've made some test and it seems that this was working in 4.14 and then >>> broken in 4.15 (using the debian kernel pkg), so it was working not >>> that >>> long ago: >>> >>> The only commit I see to the sky2 driver is the following: >>> >>> commit e99e88a9d2b067465adaa9c111ada99a041bef9a >>> Author: Kees Cook >>> Date:   Mon Oct 16 14:43:17 2017 -0700 >>> >>>       treewide: setup_timer() -> timer_setup() >>> >>>       This converts all remaining cases of the old setup_timer() API >>> into >>> using >>>       timer_setup(), where the callback argument is the structure >>> already >>>       holding the struct timer_list. These should have no behavioral >>> changes, >>>       since they just change which pointer is passed into the >>> callback with >>>       the same available pointers after conversion. It handles the >>> following >>>       examples, in addition to some other variations. >>> >>> >> Probably something in PCI power management could. > > I can still reproduce this in 4.19, any could have a look at this? Or > any other pointer I can look at? > > After the suspend, the interface shows the following: > > 6: enp5s0: mtu 1500 qdisc > pfifo_fast state DOWN mode DEFAULT group default qlen 1000 >     link/ether 00:26:18:XX:XX:XX brd ff:ff:ff:ff:ff:ff > > But the link led on the port is on (and the activity led is blinking), > so that would say that the interface is powered(?) I've investigated a bit more and passing disable_msi=1 to the driver fixes this issue, the card is operational after suspend now. The module is still using pci_enable_msi() which seems deprecated, not sure that's relevant. If I can trust the logs, I'm seeing quite some changes related to MSI between v4.14 and v4.15