* [BUG, regression, bisected] Marvell 88E8055 NIC (sky2) fails to detect link after resume from S3
@ 2012-06-29 21:20 Michal Zatloukal
2012-06-29 21:58 ` Francois Romieu
2012-06-29 23:46 ` Stephen Hemminger
0 siblings, 2 replies; 9+ messages in thread
From: Michal Zatloukal @ 2012-06-29 21:20 UTC (permalink / raw)
To: netdev
Hello.
I'm the reporter of Ubuntu bug 1007841
<https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1007841> and would
like to bring attention to it here, since it's in upstream kernel as well.
The gist of the problem is, since around 3.2 (I haven't kept up-to-date
and mostly used 2.6.35 on the machine), whenever I wake up the laptop from
S3 by opening the lid, the NIC loses link detection and it's reported as
always down. Relevant dmesg output (suspend-resume twice, then attempted
modprobe -r and modprobe, also twice):
[ 3.351407] sky2: driver version 1.30
[ 3.351460] sky2 0000:04:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ
17
[ 3.351477] sky2 0000:04:00.0: setting latency timer to 64
[ 3.351510] sky2 0000:04:00.0: Yukon-2 EC Ultra chip revision 3
[ 3.351610] sky2 0000:04:00.0: irq 44 for MSI/MSI-X
[ 3.360722] sky2 0000:04:00.0: eth0: addr 00:a0:d1:cd:97:e5
[ 19.233940] sky2 0000:04:00.0: eth0: enabling interface
[ 21.595880] sky2 0000:04:00.0: eth0: Link is up at 1000 Mbps, full
duplex, flow control both
[ 2547.761596] sky2 0000:04:00.0: eth0: disabling interface
[ 2551.220040] PM: late suspend of drv:sky2 dev:0000:04:00.0 complete
after 155.989 msecs
[ 2551.532056] sky2 0000:04:00.0: Refused to change power state, currently
in D3
[ 2551.532070] sky2 0000:04:00.0: restoring config space at offset 0xf
(was 0xffffffff, writing 0x10a)
[ 2551.532074] sky2 0000:04:00.0: restoring config space at offset 0xe
(was 0xffffffff, writing 0x0)
[ 2551.532078] sky2 0000:04:00.0: restoring config space at offset 0xd
(was 0xffffffff, writing 0x48)
[ 2551.532082] sky2 0000:04:00.0: restoring config space at offset 0xc
(was 0xffffffff, writing 0x0)
[ 2551.532086] sky2 0000:04:00.0: restoring config space at offset 0xb
(was 0xffffffff, writing 0x110f1734)
[ 2551.532090] sky2 0000:04:00.0: restoring config space at offset 0xa
(was 0xffffffff, writing 0x0)
[ 2551.532094] sky2 0000:04:00.0: restoring config space at offset 0x9
(was 0xffffffff, writing 0x0)
[ 2551.532099] sky2 0000:04:00.0: restoring config space at offset 0x8
(was 0xffffffff, writing 0x0)
[ 2551.532103] sky2 0000:04:00.0: restoring config space at offset 0x7
(was 0xffffffff, writing 0x0)
[ 2551.532107] sky2 0000:04:00.0: restoring config space at offset 0x6
(was 0xffffffff, writing 0x3001)
[ 2551.532111] sky2 0000:04:00.0: restoring config space at offset 0x5
(was 0xffffffff, writing 0x0)
[ 2551.532115] sky2 0000:04:00.0: restoring config space at offset 0x4
(was 0xffffffff, writing 0xf8000004)
[ 2551.532119] sky2 0000:04:00.0: restoring config space at offset 0x3
(was 0xffffffff, writing 0x10)
[ 2551.532123] sky2 0000:04:00.0: restoring config space at offset 0x2
(was 0xffffffff, writing 0x2000014)
[ 2551.532127] sky2 0000:04:00.0: restoring config space at offset 0x1
(was 0xffffffff, writing 0x100507)
[ 2551.532132] sky2 0000:04:00.0: restoring config space at offset 0x0
(was 0xffffffff, writing 0x436311ab)
[ 2551.537226] sky2 0000:04:00.0: ignoring stuck error report bit
[ 2553.916819] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916826] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916830] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916833] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916836] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916839] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916843] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916846] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916849] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916852] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916855] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916859] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916862] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916865] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916868] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916871] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.916875] sky2 0000:04:00.0: eth0: phy I/O error
[ 2553.917001] sky2 0000:04:00.0: eth0: enabling interface
[ 2601.941407] sky2 0000:04:00.0: eth0: disabling interface
[ 2601.941443] sky2 0000:04:00.0: eth0: phy I/O error
[ 2601.941452] sky2 0000:04:00.0: eth0: phy I/O error
[ 2601.941459] sky2 0000:04:00.0: eth0: phy I/O error
[ 2601.941466] sky2 0000:04:00.0: eth0: phy I/O error
[ 2601.941473] sky2 0000:04:00.0: eth0: phy I/O error
[ 2601.941480] sky2 0000:04:00.0: eth0: phy I/O error
[ 2601.941487] sky2 0000:04:00.0: eth0: phy I/O error
[ 2601.941494] sky2 0000:04:00.0: eth0: phy I/O error
[ 2601.941501] sky2 0000:04:00.0: eth0: phy I/O error
[ 2601.968125] sky2 0000:04:00.0: PCI INT A disabled
[ 2608.679627] sky2: driver version 1.30
[ 2608.679726] sky2 0000:04:00.0: enabling device (0000 -> 0003)
[ 2608.679746] sky2 0000:04:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ
17
[ 2608.679776] sky2 0000:04:00.0: setting latency timer to 64
[ 2608.679827] sky2 0000:04:00.0: unsupported chip type 0xff
[ 2608.679851] sky2 0000:04:00.0: PCI INT A disabled
[ 2608.679866] sky2: probe of 0000:04:00.0 failed with error -95
[26940.138170] sky2: driver version 1.30
[26940.138220] sky2 0000:04:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ
17
[26940.138236] sky2 0000:04:00.0: setting latency timer to 64
[26940.138258] sky2 0000:04:00.0: unsupported chip type 0xff
[26940.138268] sky2 0000:04:00.0: PCI INT A disabled
[26940.138273] sky2: probe of 0000:04:00.0 failed with error -95
I have done bisection and have found the offending commit to be:
commit 7afe1845dd1e7c90828c942daed7e57ffa7c38d6
Author: Sameer Nanda <snanda@chromium.org>
Date: Mon Jul 25 17:13:29 2011 -0700
init: skip calibration delay if previously done
For each CPU, do the calibration delay only once. For subsequent calls,
use the cached per-CPU value of loops_per_jiffy.
This saves about 200ms of resume time on dual core Intel Atom N5xx based
systems. This helps bring down the kernel resume time on such systems
from about 500ms to about 300ms.
--- end commit info ---
My uneducated guess is that by making the resume from S3 shorter, the
driver catches the hardware with its pants down and freaks out.
You can find all details/files (dmesg, lspci, dmidecode, config...)
collected by apport in the ubuntu bug linked above. Let me know if I
should supply any more info.
Note: Please CC me into replies, I'm not subscribed. Thank you.
Best Regards,
Michal Zatloukal
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG, regression, bisected] Marvell 88E8055 NIC (sky2) fails to detect link after resume from S3
2012-06-29 21:20 [BUG, regression, bisected] Marvell 88E8055 NIC (sky2) fails to detect link after resume from S3 Michal Zatloukal
@ 2012-06-29 21:58 ` Francois Romieu
2012-06-29 22:36 ` Michal Zatloukal
2012-06-29 23:46 ` Stephen Hemminger
1 sibling, 1 reply; 9+ messages in thread
From: Francois Romieu @ 2012-06-29 21:58 UTC (permalink / raw)
To: Michal Zatloukal; +Cc: netdev, Mirko Lindner, Stephen Hemminger
(maintainers Cced)
Michal Zatloukal <myxal.mxl@gmail.com> :
[7afe1845dd1e7c90828c942daed7e57ffa7c38d6 induced regression]
> My uneducated guess is that by making the resume from S3 shorter, the
> driver catches the hardware with its pants down and freaks out.
> You can find all details/files (dmesg, lspci, dmidecode, config...)
> collected by apport in the ubuntu bug linked above. Let me know if I
> should supply any more info.
> Note: Please CC me into replies, I'm not subscribed. Thank you.
Can you workaround it by enforcing some mdelay() in sky2_resume before
it does any real work ?
--
Ueimor
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG, regression, bisected] Marvell 88E8055 NIC (sky2) fails to detect link after resume from S3
2012-06-29 21:58 ` Francois Romieu
@ 2012-06-29 22:36 ` Michal Zatloukal
2012-06-30 11:21 ` Michal Zatloukal
0 siblings, 1 reply; 9+ messages in thread
From: Michal Zatloukal @ 2012-06-29 22:36 UTC (permalink / raw)
To: Francois Romieu; +Cc: netdev, Mirko Lindner, Stephen Hemminger
Sorry, not a developer, but I assume you mean something like:
if (!hw)
return 0;
+ mdelay(800);
/* Re-enable all clocks */
Right? In that case, I'm building the kernel now and should be able to
report by tomorrow.
MZ
On Fri, Jun 29, 2012 at 11:58 PM, Francois Romieu <romieu@fr.zoreil.com> wrote:
> (maintainers Cced)
>
> Michal Zatloukal <myxal.mxl@gmail.com> :
> [7afe1845dd1e7c90828c942daed7e57ffa7c38d6 induced regression]
>> My uneducated guess is that by making the resume from S3 shorter, the
>> driver catches the hardware with its pants down and freaks out.
>> You can find all details/files (dmesg, lspci, dmidecode, config...)
>> collected by apport in the ubuntu bug linked above. Let me know if I
>> should supply any more info.
>> Note: Please CC me into replies, I'm not subscribed. Thank you.
>
> Can you workaround it by enforcing some mdelay() in sky2_resume before
> it does any real work ?
>
> --
> Ueimor
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG, regression, bisected] Marvell 88E8055 NIC (sky2) fails to detect link after resume from S3
2012-06-29 21:20 [BUG, regression, bisected] Marvell 88E8055 NIC (sky2) fails to detect link after resume from S3 Michal Zatloukal
2012-06-29 21:58 ` Francois Romieu
@ 2012-06-29 23:46 ` Stephen Hemminger
2012-06-30 9:01 ` Michal Zatloukal
1 sibling, 1 reply; 9+ messages in thread
From: Stephen Hemminger @ 2012-06-29 23:46 UTC (permalink / raw)
To: Michal Zatloukal; +Cc: netdev
On Fri, 29 Jun 2012 23:20:54 +0200
"Michal Zatloukal" <myxal.mxl@gmail.com> wrote:
> Hello.
>
> I'm the reporter of Ubuntu bug 1007841
> <https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1007841> and would
> like to bring attention to it here, since it's in upstream kernel as well.
>
> The gist of the problem is, since around 3.2 (I haven't kept up-to-date
> and mostly used 2.6.35 on the machine), whenever I wake up the laptop from
> S3 by opening the lid, the NIC loses link detection and it's reported as
> always down. Relevant dmesg output (suspend-resume twice, then attempted
> modprobe -r and modprobe, also twice):
>
> [ 3.351407] sky2: driver version 1.30
> [ 3.351460] sky2 0000:04:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ
> 17
> [ 3.351477] sky2 0000:04:00.0: setting latency timer to 64
> [ 3.351510] sky2 0000:04:00.0: Yukon-2 EC Ultra chip revision 3
> [ 3.351610] sky2 0000:04:00.0: irq 44 for MSI/MSI-X
> [ 3.360722] sky2 0000:04:00.0: eth0: addr 00:a0:d1:cd:97:e5
> [ 19.233940] sky2 0000:04:00.0: eth0: enabling interface
> [ 21.595880] sky2 0000:04:00.0: eth0: Link is up at 1000 Mbps, full
> duplex, flow control both
> [ 2547.761596] sky2 0000:04:00.0: eth0: disabling interface
> [ 2551.220040] PM: late suspend of drv:sky2 dev:0000:04:00.0 complete
> after 155.989 msecs
> [ 2551.532056] sky2 0000:04:00.0: Refused to change power state, currently
> in D3
> [ 2551.532070] sky2 0000:04:00.0: restoring config space at offset 0xf
> (was 0xffffffff, writing 0x10a)
> [ 2551.532074] sky2 0000:04:00.0: restoring config space at offset 0xe
> (was 0xffffffff, writing 0x0)
> [ 2551.532078] sky2 0000:04:00.0: restoring config space at offset 0xd
> (was 0xffffffff, writing 0x48)
> [ 2551.532082] sky2 0000:04:00.0: restoring config space at offset 0xc
> (was 0xffffffff, writing 0x0)
> [ 2551.532086] sky2 0000:04:00.0: restoring config space at offset 0xb
> (was 0xffffffff, writing 0x110f1734)
> [ 2551.532090] sky2 0000:04:00.0: restoring config space at offset 0xa
> (was 0xffffffff, writing 0x0)
> [ 2551.532094] sky2 0000:04:00.0: restoring config space at offset 0x9
> (was 0xffffffff, writing 0x0)
> [ 2551.532099] sky2 0000:04:00.0: restoring config space at offset 0x8
> (was 0xffffffff, writing 0x0)
> [ 2551.532103] sky2 0000:04:00.0: restoring config space at offset 0x7
> (was 0xffffffff, writing 0x0)
> [ 2551.532107] sky2 0000:04:00.0: restoring config space at offset 0x6
> (was 0xffffffff, writing 0x3001)
> [ 2551.532111] sky2 0000:04:00.0: restoring config space at offset 0x5
> (was 0xffffffff, writing 0x0)
> [ 2551.532115] sky2 0000:04:00.0: restoring config space at offset 0x4
> (was 0xffffffff, writing 0xf8000004)
> [ 2551.532119] sky2 0000:04:00.0: restoring config space at offset 0x3
> (was 0xffffffff, writing 0x10)
> [ 2551.532123] sky2 0000:04:00.0: restoring config space at offset 0x2
> (was 0xffffffff, writing 0x2000014)
> [ 2551.532127] sky2 0000:04:00.0: restoring config space at offset 0x1
> (was 0xffffffff, writing 0x100507)
> [ 2551.532132] sky2 0000:04:00.0: restoring config space at offset 0x0
> (was 0xffffffff, writing 0x436311ab)
> [ 2551.537226] sky2 0000:04:00.0: ignoring stuck error report bit
> [ 2553.916819] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916826] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916830] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916833] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916836] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916839] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916843] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916846] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916849] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916852] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916855] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916859] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916862] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916865] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916868] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916871] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.916875] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2553.917001] sky2 0000:04:00.0: eth0: enabling interface
> [ 2601.941407] sky2 0000:04:00.0: eth0: disabling interface
> [ 2601.941443] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2601.941452] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2601.941459] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2601.941466] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2601.941473] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2601.941480] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2601.941487] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2601.941494] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2601.941501] sky2 0000:04:00.0: eth0: phy I/O error
> [ 2601.968125] sky2 0000:04:00.0: PCI INT A disabled
> [ 2608.679627] sky2: driver version 1.30
> [ 2608.679726] sky2 0000:04:00.0: enabling device (0000 -> 0003)
> [ 2608.679746] sky2 0000:04:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ
> 17
> [ 2608.679776] sky2 0000:04:00.0: setting latency timer to 64
> [ 2608.679827] sky2 0000:04:00.0: unsupported chip type 0xff
> [ 2608.679851] sky2 0000:04:00.0: PCI INT A disabled
> [ 2608.679866] sky2: probe of 0000:04:00.0 failed with error -95
> [26940.138170] sky2: driver version 1.30
> [26940.138220] sky2 0000:04:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ
> 17
> [26940.138236] sky2 0000:04:00.0: setting latency timer to 64
> [26940.138258] sky2 0000:04:00.0: unsupported chip type 0xff
> [26940.138268] sky2 0000:04:00.0: PCI INT A disabled
> [26940.138273] sky2: probe of 0000:04:00.0 failed with error -95
>
> I have done bisection and have found the offending commit to be:
>
> commit 7afe1845dd1e7c90828c942daed7e57ffa7c38d6
> Author: Sameer Nanda <snanda@chromium.org>
> Date: Mon Jul 25 17:13:29 2011 -0700
> init: skip calibration delay if previously done
> For each CPU, do the calibration delay only once. For subsequent calls,
> use the cached per-CPU value of loops_per_jiffy.
>
> This saves about 200ms of resume time on dual core Intel Atom N5xx based
> systems. This helps bring down the kernel resume time on such systems
> from about 500ms to about 300ms.
> --- end commit info ---
>
> My uneducated guess is that by making the resume from S3 shorter, the
> driver catches the hardware with its pants down and freaks out.
> You can find all details/files (dmesg, lspci, dmidecode, config...)
> collected by apport in the ubuntu bug linked above. Let me know if I
> should supply any more info.
> Note: Please CC me into replies, I'm not subscribed. Thank you.
>
> Best Regards,
> Michal Zatloukal
Is ubuntu still doing the stupid rmmod on suspend?
Looks like PCI power management has turned the chip off (that is why it
keeps reading ff to all requests).
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG, regression, bisected] Marvell 88E8055 NIC (sky2) fails to detect link after resume from S3
2012-06-29 23:46 ` Stephen Hemminger
@ 2012-06-30 9:01 ` Michal Zatloukal
2012-06-30 20:02 ` Francois Romieu
0 siblings, 1 reply; 9+ messages in thread
From: Michal Zatloukal @ 2012-06-30 9:01 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: netdev
On Sat, Jun 30, 2012 at 1:46 AM, Stephen Hemminger
<shemminger@vyatta.com> wrote:
<snip>
>
> Is ubuntu still doing the stupid rmmod on suspend?
The modprobes in the posted dmesg were done manually by me to see if
it would help. It didn't.
As for Ubuntu doing it, I don't know. Any way I could tell? I've
looked into /usr/lib/pm-utils/pm-functions and the $SUSPEND_MODULES
variable is set to empty, so it doesn't look like it's doing it for
any modules at this point.
> Looks like PCI power management has turned the chip off (that is why it
> keeps reading ff to all requests).
Is there something I can try?
MZ
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG, regression, bisected] Marvell 88E8055 NIC (sky2) fails to detect link after resume from S3
2012-06-29 22:36 ` Michal Zatloukal
@ 2012-06-30 11:21 ` Michal Zatloukal
0 siblings, 0 replies; 9+ messages in thread
From: Michal Zatloukal @ 2012-06-30 11:21 UTC (permalink / raw)
To: Francois Romieu; +Cc: netdev, Mirko Lindner, Stephen Hemminger
Well, that didn't help.The 800-ms delay I intoduced also showed up in
dmesg AFTER reading all the ffs:
[ 52.890768] sky2 0000:04:00.0: eth0: disabling interface
[ 55.768112] sky2 0000:04:00.0: PME# enabled
[ 55.768118] sky2 0000:04:00.0: wake-up capability enabled by ACPI
[ 55.924104] PM: late suspend of drv:sky2 dev:0000:04:00.0 complete
after 156.048 msecs
[ 56.236280] sky2 0000:04:00.0: Refused to change power state, currently in D3
[ 56.236288] sky2 0000:04:00.0: restoring config space at offset 0xf
(was 0xffffffff, writing 0x10a)
[ 56.236292] sky2 0000:04:00.0: restoring config space at offset 0xe
(was 0xffffffff, writing 0x0)
[ 56.236297] sky2 0000:04:00.0: restoring config space at offset 0xd
(was 0xffffffff, writing 0x48)
[ 56.236301] sky2 0000:04:00.0: restoring config space at offset 0xc
(was 0xffffffff, writing 0x0)
[ 56.236305] sky2 0000:04:00.0: restoring config space at offset 0xb
(was 0xffffffff, writing 0x110f1734)
[ 56.236310] sky2 0000:04:00.0: restoring config space at offset 0xa
(was 0xffffffff, writing 0x0)
[ 56.236314] sky2 0000:04:00.0: restoring config space at offset 0x9
(was 0xffffffff, writing 0x0)
[ 56.236318] sky2 0000:04:00.0: restoring config space at offset 0x8
(was 0xffffffff, writing 0x0)
[ 56.236323] sky2 0000:04:00.0: restoring config space at offset 0x7
(was 0xffffffff, writing 0x0)
[ 56.236327] sky2 0000:04:00.0: restoring config space at offset 0x6
(was 0xffffffff, writing 0x3001)
[ 56.236331] sky2 0000:04:00.0: restoring config space at offset 0x5
(was 0xffffffff, writing 0x0)
[ 56.236335] sky2 0000:04:00.0: restoring config space at offset 0x4
(was 0xffffffff, writing 0xf8000004)
[ 56.236340] sky2 0000:04:00.0: restoring config space at offset 0x3
(was 0xffffffff, writing 0x10)
[ 56.236344] sky2 0000:04:00.0: restoring config space at offset 0x2
(was 0xffffffff, writing 0x2000014)
[ 56.236348] sky2 0000:04:00.0: restoring config space at offset 0x1
(was 0xffffffff, writing 0x100507)
[ 56.236352] sky2 0000:04:00.0: restoring config space at offset 0x0
(was 0xffffffff, writing 0x436311ab)
[ 56.241868] sky2 0000:04:00.0: wake-up capability disabled by ACPI
[ 56.241872] sky2 0000:04:00.0: PME# disabled
[ 57.035970] sky2 0000:04:00.0: ignoring stuck error report bit
[ 57.035993] PM: resume of drv:sky2 dev:0000:04:00.0 complete after
794.124 msecs
[ 58.421169] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421174] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421178] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421181] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421184] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421187] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421190] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421193] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421196] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421199] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421203] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421206] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421208] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421212] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421214] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421217] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421220] sky2 0000:04:00.0: eth0: phy I/O error
[ 58.421348] sky2 0000:04:00.0: eth0: enabling interface
MZ
On Sat, Jun 30, 2012 at 12:36 AM, Michal Zatloukal <myxal.mxl@gmail.com> wrote:
> Sorry, not a developer, but I assume you mean something like:
> if (!hw)
> return 0;
>
> + mdelay(800);
> /* Re-enable all clocks */
> Right? In that case, I'm building the kernel now and should be able to
> report by tomorrow.
>
> MZ
>
> On Fri, Jun 29, 2012 at 11:58 PM, Francois Romieu <romieu@fr.zoreil.com> wrote:
>> (maintainers Cced)
>>
>> Michal Zatloukal <myxal.mxl@gmail.com> :
>> [7afe1845dd1e7c90828c942daed7e57ffa7c38d6 induced regression]
>>> My uneducated guess is that by making the resume from S3 shorter, the
>>> driver catches the hardware with its pants down and freaks out.
>>> You can find all details/files (dmesg, lspci, dmidecode, config...)
>>> collected by apport in the ubuntu bug linked above. Let me know if I
>>> should supply any more info.
>>> Note: Please CC me into replies, I'm not subscribed. Thank you.
>>
>> Can you workaround it by enforcing some mdelay() in sky2_resume before
>> it does any real work ?
>>
>> --
>> Ueimor
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG, regression, bisected] Marvell 88E8055 NIC (sky2) fails to detect link after resume from S3
2012-06-30 9:01 ` Michal Zatloukal
@ 2012-06-30 20:02 ` Francois Romieu
2012-07-01 13:30 ` Michal Zatloukal
0 siblings, 1 reply; 9+ messages in thread
From: Francois Romieu @ 2012-06-30 20:02 UTC (permalink / raw)
To: Michal Zatloukal; +Cc: Stephen Hemminger, netdev
Michal Zatloukal <myxal.mxl@gmail.com> :
[...]
> Is there something I can try?
I have not used it for quite some time but comparing mmiotrace output
(see Documentation/trace/mmiotrace.txt) before and after the regression
commit may give some hint.
Otherwise I would ask for help on linux-pm@vger.kernel.org
--
Ueimor
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG, regression, bisected] Marvell 88E8055 NIC (sky2) fails to detect link after resume from S3
2012-06-30 20:02 ` Francois Romieu
@ 2012-07-01 13:30 ` Michal Zatloukal
2012-07-01 20:58 ` Michal Zatloukal
0 siblings, 1 reply; 9+ messages in thread
From: Michal Zatloukal @ 2012-07-01 13:30 UTC (permalink / raw)
To: Francois Romieu; +Cc: Stephen Hemminger, netdev
Breaking news:
Fiddling with mmiotrace, I was able to get the "phy I/O error" on
previously-thought-good kernel (non-reliably; it took several
suspend-resume cycles), and also vice versa - in vty, I was able to
suspend and resume the "bad" kernel with the NIC still working (also
not reliably - in GUI, it still flaked out after first
suspend-resume).
Anyway, I've gathered traces of both good and bad behaviour, each from
the respective kernel (not that it seems to matter much). Now, what's
the recommended way of posting them? Each is over 3MB in size and
pastebin won't take them. :-(
MZ
On Sat, Jun 30, 2012 at 10:02 PM, Francois Romieu <romieu@fr.zoreil.com> wrote:
> Michal Zatloukal <myxal.mxl@gmail.com> :
> [...]
>> Is there something I can try?
>
> I have not used it for quite some time but comparing mmiotrace output
> (see Documentation/trace/mmiotrace.txt) before and after the regression
> commit may give some hint.
>
> Otherwise I would ask for help on linux-pm@vger.kernel.org
>
> --
> Ueimor
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG, regression, bisected] Marvell 88E8055 NIC (sky2) fails to detect link after resume from S3
2012-07-01 13:30 ` Michal Zatloukal
@ 2012-07-01 20:58 ` Michal Zatloukal
0 siblings, 0 replies; 9+ messages in thread
From: Michal Zatloukal @ 2012-07-01 20:58 UTC (permalink / raw)
To: Francois Romieu; +Cc: Stephen Hemminger, netdev
Traces (7z-compressed to ~250k) attached to ubuntu bug, direct link:
<https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1007841/+attachment/3210143/+files/traces.7z>
MZ
On Sun, Jul 1, 2012 at 3:30 PM, Michal Zatloukal <myxal.mxl@gmail.com> wrote:
> Breaking news:
> Fiddling with mmiotrace, I was able to get the "phy I/O error" on
> previously-thought-good kernel (non-reliably; it took several
> suspend-resume cycles), and also vice versa - in vty, I was able to
> suspend and resume the "bad" kernel with the NIC still working (also
> not reliably - in GUI, it still flaked out after first
> suspend-resume).
>
> Anyway, I've gathered traces of both good and bad behaviour, each from
> the respective kernel (not that it seems to matter much). Now, what's
> the recommended way of posting them? Each is over 3MB in size and
> pastebin won't take them. :-(
>
> MZ
>
> On Sat, Jun 30, 2012 at 10:02 PM, Francois Romieu <romieu@fr.zoreil.com> wrote:
>> Michal Zatloukal <myxal.mxl@gmail.com> :
>> [...]
>>> Is there something I can try?
>>
>> I have not used it for quite some time but comparing mmiotrace output
>> (see Documentation/trace/mmiotrace.txt) before and after the regression
>> commit may give some hint.
>>
>> Otherwise I would ask for help on linux-pm@vger.kernel.org
>>
>> --
>> Ueimor
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-07-01 20:58 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-29 21:20 [BUG, regression, bisected] Marvell 88E8055 NIC (sky2) fails to detect link after resume from S3 Michal Zatloukal
2012-06-29 21:58 ` Francois Romieu
2012-06-29 22:36 ` Michal Zatloukal
2012-06-30 11:21 ` Michal Zatloukal
2012-06-29 23:46 ` Stephen Hemminger
2012-06-30 9:01 ` Michal Zatloukal
2012-06-30 20:02 ` Francois Romieu
2012-07-01 13:30 ` Michal Zatloukal
2012-07-01 20:58 ` Michal Zatloukal
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).