[SRU] [B/C/D/Unstable] [PATCH 0/1] Fix I219 doesn't get woken up after plugging ethernet cable

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[SRU] [B/C/D/Unstable] [PATCH 0/1] Fix I219 doesn't get woken up after plugging ethernet cable

Kai-Heng Feng
BugLink: https://bugs.launchpad.net/bugs/1817058

[Impact]
Plugging ethernet cable doesn't work on new I219 after it runtime
suspends to D3.

[Fix]
Intel confirms that it only supports D0, so disable runtime power
management to prevent it from entering D3.

[Test]
Once the patch applied, the device always stays at D0, which doesn't
have this problem.

[Regression Potential]
Low. This doesn't introduce any functional change.

Kai-Heng Feng (1):
  e1000e: Disable runtime PM on CNP+

 drivers/net/ethernet/intel/e1000e/netdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[PATCH 1/1] e1000e: Disable runtime PM on CNP+

Kai-Heng Feng
BugLink: https://bugs.launchpad.net/bugs/1817058

There are some new e1000e devices can only be woken up from D3 one time,
by plugging ethernet cable. Subsequent cable plugging does set PME bit
correctly, but it still doesn't get woken up.

Since e1000e connects to the root complex directly, we rely on ACPI to
wake it up. In this case, the GPE from _PRW only works once and stops
working after that. Though it appears to be a platform bug, e1000e
maintainers confirmed that I219 does not support D3.

So disable runtime PM on CNP+ chips. We may need to disable earlier
generations if this bug also hit older platforms.

Bugzilla: https://bugzilla.kernel.org/attachment.cgi?id=280819
Signed-off-by: Kai-Heng Feng <[hidden email]>
(backported from commit f6d54c3efb41923d7e341459c2abdab09b9a7773 git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue)
Signed-off-by: Kai-Heng Feng <[hidden email]>
---
 drivers/net/ethernet/intel/e1000e/netdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index ce4aaa9f2163..1dd5ec1cd4f5 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -7351,7 +7351,7 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
  e1000_print_device_info(adapter);
 
- if (pci_dev_run_wake(pdev))
+ if (pci_dev_run_wake(pdev) && hw->mac.type < e1000_pch_cnp)
  pm_runtime_put_noidle(&pdev->dev);
 
  return 0;
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

NACK: [PATCH 1/1] e1000e: Disable runtime PM on CNP+

Stefan Bader-2
On 21.02.19 13:49, Kai-Heng Feng wrote:

> BugLink: https://bugs.launchpad.net/bugs/1817058
>
> There are some new e1000e devices can only be woken up from D3 one time,
> by plugging ethernet cable. Subsequent cable plugging does set PME bit
> correctly, but it still doesn't get woken up.
>
> Since e1000e connects to the root complex directly, we rely on ACPI to
> wake it up. In this case, the GPE from _PRW only works once and stops
> working after that. Though it appears to be a platform bug, e1000e
> maintainers confirmed that I219 does not support D3.
>
> So disable runtime PM on CNP+ chips. We may need to disable earlier
> generations if this bug also hit older platforms.
>
> Bugzilla: https://bugzilla.kernel.org/attachment.cgi?id=280819
> Signed-off-by: Kai-Heng Feng <[hidden email]>
> (backported from commit f6d54c3efb41923d7e341459c2abdab09b9a7773 git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue)
This modifies behavior for certain types of HW, so I rather want to wait until
this hits upstream for real.

-Stefan

> Signed-off-by: Kai-Heng Feng <[hidden email]>
> ---
>  drivers/net/ethernet/intel/e1000e/netdev.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
> index ce4aaa9f2163..1dd5ec1cd4f5 100644
> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
> @@ -7351,7 +7351,7 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  
>   e1000_print_device_info(adapter);
>  
> - if (pci_dev_run_wake(pdev))
> + if (pci_dev_run_wake(pdev) && hw->mac.type < e1000_pch_cnp)
>   pm_runtime_put_noidle(&pdev->dev);
>  
>   return 0;
>


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

ACK / APPLIED[D/Unstable]: [SRU] [B/C/D/Unstable] [PATCH 0/1] Fix I219 doesn't get woken up after plugging ethernet cable

Seth Forshee
In reply to this post by Kai-Heng Feng
On Thu, Feb 21, 2019 at 08:49:37PM +0800, Kai-Heng Feng wrote:

> BugLink: https://bugs.launchpad.net/bugs/1817058
>
> [Impact]
> Plugging ethernet cable doesn't work on new I219 after it runtime
> suspends to D3.
>
> [Fix]
> Intel confirms that it only supports D0, so disable runtime power
> management to prevent it from entering D3.
>
> [Test]
> Once the patch applied, the device always stays at D0, which doesn't
> have this problem.
>
> [Regression Potential]
> Low. This doesn't introduce any functional change.

I don't agree that there's no functional change, but it is limited in
scope and has positive testing for the affected hardware.

Acked-by: Seth Forshee <[hidden email]>

Applied to disco and unstable, thanks!

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

APPLIED/OEM: Re: [SRU] [B/C/D/Unstable] [PATCH 0/1] Fix I219 doesn't get woken up after plugging ethernet cable

Timo Aaltonen-6
In reply to this post by Kai-Heng Feng
On 21.2.2019 14.49, Kai-Heng Feng wrote:

> BugLink: https://bugs.launchpad.net/bugs/1817058
>
> [Impact]
> Plugging ethernet cable doesn't work on new I219 after it runtime
> suspends to D3.
>
> [Fix]
> Intel confirms that it only supports D0, so disable runtime power
> management to prevent it from entering D3.
>
> [Test]
> Once the patch applied, the device always stays at D0, which doesn't
> have this problem.
>
> [Regression Potential]
> Low. This doesn't introduce any functional change.
>
> Kai-Heng Feng (1):
>   e1000e: Disable runtime PM on CNP+
>
>  drivers/net/ethernet/intel/e1000e/netdev.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>

applied to oem-next, thanks

--
t

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team