diff mbox

alx: Reset phy speed after resume

Message ID 1384448222.15774.12.camel@joe-AO722
State RFC, archived
Delegated to: David Miller
Headers show

Commit Message

Joe Perches Nov. 14, 2013, 4:57 p.m. UTC
On Thu, 2013-11-14 at 17:16 +0100, hahnjo wrote:
> From 27744b24f9291782c1342dbd6cac511e68da907c Mon Sep 17 00:00:00 2001
> From: hahnjo <hahnjo@hahnjo.de>
> Date: Tue, 12 Nov 2013 18:19:24 +0100
> Subject: [PATCH] alx: Reset phy speed after resume
> 
> This fixes bug 62491 (https://bugzilla.kernel.org/show_bug.cgi?id=62491).
> After resuming some users got the following error flooding the kernel log:
> alx 0000:02:00.0: invalid PHY speed/duplex: 0xffff
> 
> Signed-off-by: Jonas Hahnfeld <linux@hahnjo.de>
> ---
>  drivers/net/ethernet/atheros/alx/main.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/net/ethernet/atheros/alx/main.c b/drivers/net/ethernet/atheros/alx/main.c
> index fc95b23..6305a5d 100644
> --- a/drivers/net/ethernet/atheros/alx/main.c
> +++ b/drivers/net/ethernet/atheros/alx/main.c
> @@ -1389,6 +1389,9 @@ static int alx_resume(struct device *dev)
>  {
>  	struct pci_dev *pdev = to_pci_dev(dev);
>  	struct alx_priv *alx = pci_get_drvdata(pdev);
> +	struct alx_hw *hw = &alx->hw;
> +
> +	alx_reset_phy(hw);
>  
>  	if (!netif_running(alx->dev))
>  		return 0;

Perhaps this would help too:
---
 drivers/net/ethernet/atheros/alx/hw.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/ethernet/atheros/alx/hw.c b/drivers/net/ethernet/atheros/alx/hw.c
index 1e8c24a..3396224 100644
--- a/drivers/net/ethernet/atheros/alx/hw.c
+++ b/drivers/net/ethernet/atheros/alx/hw.c
@@ -908,7 +908,8 @@  int alx_read_phy_link(struct alx_hw *hw)
 	return 0;
 
 wrong_speed:
-	dev_err(&pdev->dev, "invalid PHY speed/duplex: 0x%x\n", giga);
+	dev_err_ratelimited(&pdev->dev, "invalid PHY speed/duplex: 0x%x\n",
+			    giga);
 	return -EINVAL;
 }