Commit 59715171 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by David S. Miller

r8169: fix MAC address being lost in PCI D3

(At least) RTL8168e forgets its MAC address in PCI D3. To fix this set
the MAC address when resuming. For resuming from runtime-suspend we
had this in place already, for resuming from S3/S5 it was missing.

The commit referenced as being fixed isn't wrong, it's just the first
one where the patch applies cleanly.

Fixes: 0f07bd85 ("r8169: use dev_get_drvdata where possible")
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Reported-by: default avatarAlbert Astals Cid <aacid@kde.org>
Tested-by: default avatarAlbert Astals Cid <aacid@kde.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 200c6758
...@@ -6722,6 +6722,8 @@ static int rtl8169_resume(struct device *device) ...@@ -6722,6 +6722,8 @@ static int rtl8169_resume(struct device *device)
struct net_device *dev = dev_get_drvdata(device); struct net_device *dev = dev_get_drvdata(device);
struct rtl8169_private *tp = netdev_priv(dev); struct rtl8169_private *tp = netdev_priv(dev);
rtl_rar_set(tp, dev->dev_addr);
clk_prepare_enable(tp->clk); clk_prepare_enable(tp->clk);
if (netif_running(dev)) if (netif_running(dev))
...@@ -6755,6 +6757,7 @@ static int rtl8169_runtime_resume(struct device *device) ...@@ -6755,6 +6757,7 @@ static int rtl8169_runtime_resume(struct device *device)
{ {
struct net_device *dev = dev_get_drvdata(device); struct net_device *dev = dev_get_drvdata(device);
struct rtl8169_private *tp = netdev_priv(dev); struct rtl8169_private *tp = netdev_priv(dev);
rtl_rar_set(tp, dev->dev_addr); rtl_rar_set(tp, dev->dev_addr);
if (!tp->TxDescArray) if (!tp->TxDescArray)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment