Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1521449 > unrolled thread

RE: [PATCH v3 3/5] net: asix: Fix AX88772x resume failures

Started by"ASIX_Allan [Home]" <allan@asix.com.tw>
First post2016-11-14 10:30 +0100
Last post2016-11-22 16:40 +0100
Articles 5 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  RE: [PATCH v3 3/5] net: asix: Fix AX88772x resume failures "ASIX_Allan [Home]" <allan@asix.com.tw> - 2016-11-14 10:30 +0100
    Re: [PATCH v3 3/5] net: asix: Fix AX88772x resume failures Jon Hunter <jonathanh@nvidia.com> - 2016-11-14 10:40 +0100
      RE: [PATCH v3 3/5] net: asix: Fix AX88772x resume failures "ASIX_Allan [Office]" <allan@asix.com.tw> - 2016-11-14 10:50 +0100
        Re: [PATCH v3 3/5] net: asix: Fix AX88772x resume failures Jon Hunter <jonathanh@nvidia.com> - 2016-11-18 16:20 +0100
          Re: [PATCH v3 3/5] net: asix: Fix AX88772x resume failures Jon Hunter <jonathanh@nvidia.com> - 2016-11-22 16:40 +0100

#1521449 — RE: [PATCH v3 3/5] net: asix: Fix AX88772x resume failures

From"ASIX_Allan [Home]" <allan@asix.com.tw>
Date2016-11-14 10:30 +0100
SubjectRE: [PATCH v3 3/5] net: asix: Fix AX88772x resume failures
Message-ID<sDlKp-55b-11@gated-at.bofh.it>
Hi Jon,

It seems the AX88772x dongle had been unexpectedly removed while running the
ax88772_suspend() routine. If yes, you might see these error messages
because the hardware had been absent.    

---
Best regards,
Allan Chou


-----Original Message-----
From: Jon Hunter [mailto:jonathanh@nvidia.com] 
Sent: Thursday, November 10, 2016 8:01 PM
To: robert.foss@collabora.com; freddy@asix.com.tw; Dean_Jenkins@mentor.com;
Mark_Craske@mentor.com; davem@davemloft.net; ivecera@redhat.com;
john.stultz@linaro.org; vpalatin@chromium.org; stephen@networkplumber.org;
grundler@chromium.org; changchias@gmail.com; allan@asix.com.tw;
andrew@lunn.ch; tremyfr@gmail.com; colin.king@canonical.com;
linux-usb@vger.kernel.org; netdev@vger.kernel.org;
linux-kernel@vger.kernel.org; vpalatin@google.com
Subject: Re: [PATCH v3 3/5] net: asix: Fix AX88772x resume failures

Hi Robert,

On 29/08/16 14:32, robert.foss@collabora.com wrote:
> From: Robert Foss <robert.foss@collabora.com>
> 
> From: Allan Chou <allan@asix.com.tw>
> 
> The change fixes AX88772x resume failure by
> - Restore incorrect AX88772A PHY registers when resetting
> - Need to stop MAC operation when suspending
> - Need to restart MII when restoring PHY
> 
> Signed-off-by: Allan Chou <allan@asix.com.tw>
> Signed-off-by: Robert Foss <robert.foss@collabora.com>
> Tested-by: Robert Foss <robert.foss@collabora.com>

After this commit, I have started seeing the following messages during
system suspend on various tegra boards using asix ethernet dongles ...

[  288.667010] PM: Syncing filesystems ... done.
[  288.672223] Freezing user space processes ... (elapsed 0.001 seconds)
done.
[  288.680505] Double checking all user space processes after OOM killer
disable... (elapsed 0.000 seconds) [  288.690193] Freezing remaining
freezable tasks ... (elapsed 0.001 seconds) done.
[  288.698987] Suspending console(s) (use no_console_suspend to debug) [
288.706605] asix 1-1:1.0 eth0: Failed to read reg index 0x0000: -19 [
288.706613] asix 1-1:1.0 eth0: Error reading Medium Status register:
ffffffed [  288.706621] asix 1-1:1.0 eth0: Failed to write reg index 0x0000:
-19 [  288.706629] asix 1-1:1.0 eth0: Failed to write Medium Mode mode to
0xfeed: ffffffed [  288.759167] PM: suspend of devices complete after 52.772
msecs

Interestingly, it only seems to happen if the ethernet is in a disconnected
state when entering suspend. I have not had chance to look at this any
further, but wanted to see if you had any thoughts.

Cheers
Jon

--
nvpublic

[toc] | [next] | [standalone]


#1521454

FromJon Hunter <jonathanh@nvidia.com>
Date2016-11-14 10:40 +0100
Message-ID<sDlU6-58t-9@gated-at.bofh.it>
In reply to#1521449
Hi Allan,

On 14/11/16 08:50, ASIX_Allan [Home] wrote:
> It seems the AX88772x dongle had been unexpectedly removed while running the
> ax88772_suspend() routine. If yes, you might see these error messages
> because the hardware had been absent.    

In my case the hardware was never removed. The boards are in a test
fixture that are not touched. This is seen on more than one board. By
reverting this change I no longer see the error messages and appears to
be 100% reproducible.

Jon

-- 
nvpublic

[toc] | [prev] | [next] | [standalone]


#1521457

From"ASIX_Allan [Office]" <allan@asix.com.tw>
Date2016-11-14 10:50 +0100
Message-ID<sDm3L-5c7-7@gated-at.bofh.it>
In reply to#1521454
Hi Jon,

Please help to double check if the USB host controller of your Terga
platform had been powered OFF while running the ax88772_suspend() routine or
not? 

---
Best regards,
Allan Chou


-----Original Message-----
From: Jon Hunter [mailto:jonathanh@nvidia.com] 
Sent: Monday, November 14, 2016 5:34 PM
To: allan@asix.com.tw; robert.foss@collabora.com; freddy@asix.com.tw;
Dean_Jenkins@mentor.com; Mark_Craske@mentor.com; davem@davemloft.net;
ivecera@redhat.com; john.stultz@linaro.org; vpalatin@chromium.org;
stephen@networkplumber.org; grundler@chromium.org; changchias@gmail.com;
andrew@lunn.ch; tremyfr@gmail.com; colin.king@canonical.com;
linux-usb@vger.kernel.org; netdev@vger.kernel.org;
linux-kernel@vger.kernel.org; vpalatin@google.com
Subject: Re: [PATCH v3 3/5] net: asix: Fix AX88772x resume failures

Hi Allan,

On 14/11/16 08:50, ASIX_Allan [Home] wrote:
> It seems the AX88772x dongle had been unexpectedly removed while 
> running the
> ax88772_suspend() routine. If yes, you might see these error messages
> because the hardware had been absent.    

In my case the hardware was never removed. The boards are in a test fixture
that are not touched. This is seen on more than one board. By reverting this
change I no longer see the error messages and appears to be 100%
reproducible.

Jon

--
nvpublic

[toc] | [prev] | [next] | [standalone]


#1525461

FromJon Hunter <jonathanh@nvidia.com>
Date2016-11-18 16:20 +0100
Message-ID<sET7k-oi-31@gated-at.bofh.it>
In reply to#1521457
Hi Allan,

On 14/11/16 09:45, ASIX_Allan [Office] wrote:
> Hi Jon,
> 
> Please help to double check if the USB host controller of your Terga
> platform had been powered OFF while running the ax88772_suspend() routine or
> not? 

Sorry for the delay. Today I set up a local board to reproduce this on
and was able to recreate the same problem. The Tegra xhci driver does
not power off during suspend and simply calls xhci_suspend(). I also
checked vbus to see if it was turning off but it is not. Furthermore I
don't see a new USB device detected after the error and so I don't see
any evidence that it ever disconnects.

Cheers
Jon

-- 
nvpublic

[toc] | [prev] | [next] | [standalone]


#1527607

FromJon Hunter <jonathanh@nvidia.com>
Date2016-11-22 16:40 +0100
Message-ID<sGlkS-vj-33@gated-at.bofh.it>
In reply to#1525461
Hi Allan,

On 18/11/16 15:09, Jon Hunter wrote:
> Hi Allan,
> 
> On 14/11/16 09:45, ASIX_Allan [Office] wrote:
>> Hi Jon,
>>
>> Please help to double check if the USB host controller of your Terga
>> platform had been powered OFF while running the ax88772_suspend() routine or
>> not? 
> 
> Sorry for the delay. Today I set up a local board to reproduce this on
> and was able to recreate the same problem. The Tegra xhci driver does
> not power off during suspend and simply calls xhci_suspend(). I also
> checked vbus to see if it was turning off but it is not. Furthermore I
> don't see a new USB device detected after the error and so I don't see
> any evidence that it ever disconnects.

In an attempt to isolate if this is a Tegra issue or not, I recompiled 
v4.9-rc6 for x86 and I was able to reproduce the problem on my desktop ...

[  256.030060] PM: Syncing filesystems ... done.
[  256.113925] PM: Preparing system for sleep (mem)
[  256.114119] Freezing user space processes ... (elapsed 0.002 seconds) done.
[  256.116701] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[  256.118041] PM: Suspending system (mem)
[  256.118058] Suspending console(s) (use no_console_suspend to debug)
[  256.118324] asix 1-1.2:1.0 eth2: Failed to read reg index 0x0000: -19
[  256.118327] asix 1-1.2:1.0 eth2: Error reading Medium Status register: ffffffed
[  256.118329] asix 1-1.2:1.0 eth2: Failed to write reg index 0x0000: -19
[  256.118332] asix 1-1.2:1.0 eth2: Failed to write Medium Mode mode to 0xfeed: ffffffed
[  256.118374] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[  256.118471] sd 0:0:0:0: [sda] Stopping disk
[  256.152992] hpet1: lost 1 rtc interrupts
[  256.153893] serial 00:06: disabled
[  256.153899] serial 00:06: System wakeup disabled by ACPI
[  256.154068] e1000e: EEE TX LPI TIMER: 00000011
[  256.628281] PM: suspend of devices complete after 509.782 msecs
[  256.628620] PM: late suspend of devices complete after 0.336 msecs
[  256.629366] ehci-pci 0000:00:1d.0: System wakeup enabled by ACPI
[  256.629595] tg3 0000:03:00.0: System wakeup enabled by ACPI
[  256.629601] ehci-pci 0000:00:1a.0: System wakeup enabled by ACPI
[  256.629652] e1000e 0000:00:19.0: System wakeup enabled by ACPI
[  256.629812] xhci_hcd 0000:00:14.0: System wakeup enabled by ACPI
[  256.648347] PM: noirq suspend of devices complete after 19.713 msecs
[  256.648685] ACPI: Preparing to enter system sleep state S3
[  256.668275] PM: Saving platform NVS memory
[  256.668283] Disabling non-boot CPUs ...

To reproduce this, I did the following:

1. Connect the asix device and noted the net interface (ie. eth2)
2. Disabled the interface (ie. sudo ifconfig eth2 down)
3. Ran a suspend-resume cycle using rtcwake (eg. sudo rtcwake -d rtc0 -m mem -s 5)

Cheers
Jon

-- 
nvpublic

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web