Restart autonegotiation is necessary after setting EEE.
Signed-off-by: Hayes Wang <[email protected]>
---
drivers/net/usb/r8152.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index a4d4c4a..e4dcfc1 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -3480,6 +3480,9 @@ rtl_ethtool_set_eee(struct net_device *net, struct ethtool_eee *edata)
ret = tp->rtl_ops.eee_set(tp, edata);
+ if (ret == 0)
+ ret = mii_nway_restart(&tp->mii);
+
usb_autopm_put_interface(tp->intf);
out:
--
1.9.3
From: Hayes Wang <[email protected]>
Date: Thu, 2 Oct 2014 16:01:22 +0800
> @@ -3480,6 +3480,9 @@ rtl_ethtool_set_eee(struct net_device *net, struct ethtool_eee *edata)
>
> ret = tp->rtl_ops.eee_set(tp, edata);
>
> + if (ret == 0)
> + ret = mii_nway_restart(&tp->mii);
Please test this canonically as "if (!ret)" and delete the empty line between the function
call and the return value test.
Thank you.
Restart autonegotiation is necessary after setting EEE.
Signed-off-by: Hayes Wang <[email protected]>
---
drivers/net/usb/r8152.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index b9a9815..6532620 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -3471,6 +3471,8 @@ rtl_ethtool_set_eee(struct net_device *net, struct ethtool_eee *edata)
goto out;
ret = tp->rtl_ops.eee_set(tp, edata);
+ if (!ret)
+ ret = mii_nway_restart(&tp->mii);
usb_autopm_put_interface(tp->intf);
--
1.9.3
From: Hayes Wang <[email protected]>
Date: Mon, 6 Oct 2014 10:36:04 +0800
> Restart autonegotiation is necessary after setting EEE.
>
> Signed-off-by: Hayes Wang <[email protected]>
Applied, thanks.