diff mbox

[1/2,net-next] r6040: invoke phy_{start,stop} when appropriate

Message ID 201110071136.22107.florian@openwrt.org
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Florian Fainelli Oct. 7, 2011, 9:36 a.m. UTC
Joe reported to me that right after a bring up of a r6040 interface
the ethtool output had no consistent output with respect to link duplex
and speed. Fix this by adding a missing phy_start call in r6040_up and
conversely a phy_stop call in r6040_down to properly initialize phy states.

Reported-by: Joe Chou <Joe.Chou@rdc.com.tw>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
---

Comments

Eric Dumazet Oct. 7, 2011, 10:24 a.m. UTC | #1
Le vendredi 07 octobre 2011 à 11:36 +0200, Florian Fainelli a écrit :
> Joe reported to me that right after a bring up of a r6040 interface
> the ethtool output had no consistent output with respect to link duplex
> and speed. Fix this by adding a missing phy_start call in r6040_up and
> conversely a phy_stop call in r6040_down to properly initialize phy states.
> 
> Reported-by: Joe Chou <Joe.Chou@rdc.com.tw>
> Signed-off-by: Florian Fainelli <florian@openwrt.org>
> ---
> diff --git a/drivers/net/ethernet/rdc/r6040.c b/drivers/net/ethernet/rdc/r6040.c
> index 2bbadc0..a128c3d 100644
> --- a/drivers/net/ethernet/rdc/r6040.c
> +++ b/drivers/net/ethernet/rdc/r6040.c
> @@ -470,6 +470,8 @@ static void r6040_down(struct net_device *dev)
>  	iowrite16(adrp[0], ioaddr + MID_0L);
>  	iowrite16(adrp[1], ioaddr + MID_0M);
>  	iowrite16(adrp[2], ioaddr + MID_0H);
> +
> +	phy_stop(lp->phydev);
>  }
>  
>  static int r6040_close(struct net_device *dev)
> @@ -727,6 +729,8 @@ static int r6040_up(struct net_device *dev)
>  	/* Initialize all MAC registers */
>  	r6040_init_mac_regs(dev);
>  
> +	phy_start(lp->phydev);
> +
>  	return 0;
>  }
>  

You dont need to submit your patches twice (net and net-next)

If its a bug fix, base your patch against net tree

If its a new feature, against net-next




--
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
Florian Fainelli Oct. 7, 2011, 12:13 p.m. UTC | #2
On Friday 07 October 2011 12:24:47 Eric Dumazet wrote:
> Le vendredi 07 octobre 2011 à 11:36 +0200, Florian Fainelli a écrit :
> > Joe reported to me that right after a bring up of a r6040 interface
> > the ethtool output had no consistent output with respect to link duplex
> > and speed. Fix this by adding a missing phy_start call in r6040_up and
> > conversely a phy_stop call in r6040_down to properly initialize phy
> > states.
> > 
> > Reported-by: Joe Chou <Joe.Chou@rdc.com.tw>
> > Signed-off-by: Florian Fainelli <florian@openwrt.org>
> > ---
> > diff --git a/drivers/net/ethernet/rdc/r6040.c
> > b/drivers/net/ethernet/rdc/r6040.c index 2bbadc0..a128c3d 100644
> > --- a/drivers/net/ethernet/rdc/r6040.c
> > +++ b/drivers/net/ethernet/rdc/r6040.c
> > @@ -470,6 +470,8 @@ static void r6040_down(struct net_device *dev)
> > 
> >  	iowrite16(adrp[0], ioaddr + MID_0L);
> >  	iowrite16(adrp[1], ioaddr + MID_0M);
> >  	iowrite16(adrp[2], ioaddr + MID_0H);
> > 
> > +
> > +	phy_stop(lp->phydev);
> > 
> >  }
> >  
> >  static int r6040_close(struct net_device *dev)
> > 
> > @@ -727,6 +729,8 @@ static int r6040_up(struct net_device *dev)
> > 
> >  	/* Initialize all MAC registers */
> >  	r6040_init_mac_regs(dev);
> > 
> > +	phy_start(lp->phydev);
> > +
> > 
> >  	return 0;
> >  
> >  }
> 
> You dont need to submit your patches twice (net and net-next)
> 
> If its a bug fix, base your patch against net tree
> 
> If its a new feature, against net-next

Allright, thanks for the tip. I just thought that would make it easier for 
David to get this applied (especially after the drivers reorganization).
David Miller Oct. 10, 2011, 3:51 a.m. UTC | #3
From: Florian Fainelli <florian@openwrt.org>
Date: Fri, 7 Oct 2011 11:36:22 +0200

> Joe reported to me that right after a bring up of a r6040 interface
> the ethtool output had no consistent output with respect to link duplex
> and speed. Fix this by adding a missing phy_start call in r6040_up and
> conversely a phy_stop call in r6040_down to properly initialize phy states.
> 
> Reported-by: Joe Chou <Joe.Chou@rdc.com.tw>
> Signed-off-by: Florian Fainelli <florian@openwrt.org>

Applied.
--
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/rdc/r6040.c b/drivers/net/ethernet/rdc/r6040.c
index 2bbadc0..a128c3d 100644
--- a/drivers/net/ethernet/rdc/r6040.c
+++ b/drivers/net/ethernet/rdc/r6040.c
@@ -470,6 +470,8 @@  static void r6040_down(struct net_device *dev)
 	iowrite16(adrp[0], ioaddr + MID_0L);
 	iowrite16(adrp[1], ioaddr + MID_0M);
 	iowrite16(adrp[2], ioaddr + MID_0H);
+
+	phy_stop(lp->phydev);
 }
 
 static int r6040_close(struct net_device *dev)
@@ -727,6 +729,8 @@  static int r6040_up(struct net_device *dev)
 	/* Initialize all MAC registers */
 	r6040_init_mac_regs(dev);
 
+	phy_start(lp->phydev);
+
 	return 0;
 }