diff mbox series

[net,v2] r8169: always autoneg on resume

Message ID 1538319728.z22jaatdgh.astroid@alex-desktop.none
State Accepted, archived
Delegated to: David Miller
Headers show
Series [net,v2] r8169: always autoneg on resume | expand

Commit Message

Alex Xu \(Hello71\) Sept. 30, 2018, 3:06 p.m. UTC
This affects at least versions 25 and 33, so assume all cards are broken
and just renegotiate by default.

Fixes: 10bc6a6042c9 ("r8169: fix autoneg issue on resume with RTL8168E")
Signed-off-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
---
 drivers/net/ethernet/realtek/r8169.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Daan Wendelen Sept. 30, 2018, 10:17 p.m. UTC | #1
Hi Alex,

I randomly opened your patch even though I have absolutely no idea what this patch is about, but I
found a mistake in one of the comments:

On Sun, Sep 30, 2018 at 11:06:39AM -0400, Alex Xu (Hello71) wrote:
> This affects at least versions 25 and 33, so assume all cards are broken
                     ...
>  	 * 1GBit link after resuming from S3. For whatever reason the PHY on
> -	 * this chip doesn't properly start a renegotiation when soft-reset.
> +	 * these chips doesn't properly start a renegotiation when soft-reset.
                       ~~~~~~~ 
I believe it should be "these chips don't"

With kind regards,
Daan
Alex Xu \(Hello71\) Sept. 30, 2018, 10:30 p.m. UTC | #2
Quoting Daan Wendelen (2018-09-30 22:17:51)
> Hi Alex,
> 
> I randomly opened your patch even though I have absolutely no idea what this patch is about, but I
> found a mistake in one of the comments:
> 
> On Sun, Sep 30, 2018 at 11:06:39AM -0400, Alex Xu (Hello71) wrote:
> > This affects at least versions 25 and 33, so assume all cards are broken
>                      ...
> >        * 1GBit link after resuming from S3. For whatever reason the PHY on
> > -      * this chip doesn't properly start a renegotiation when soft-reset.
> > +      * these chips doesn't properly start a renegotiation when soft-reset.
>                        ~~~~~~~ 
> I believe it should be "these chips don't"
> 
> With kind regards,
> Daan

The grammar is correct as is. The subject of the sentence is "the PHY",
which is singular. However, I think it should be "the PHYs" instead,
assuming that they are different.
Andrew Lunn Oct. 1, 2018, 2:39 a.m. UTC | #3
On Sun, Sep 30, 2018 at 10:30:58PM +0000, Alex Xu wrote:
> Quoting Daan Wendelen (2018-09-30 22:17:51)
> > Hi Alex,
> > 
> > I randomly opened your patch even though I have absolutely no idea what this patch is about, but I
> > found a mistake in one of the comments:
> > 
> > On Sun, Sep 30, 2018 at 11:06:39AM -0400, Alex Xu (Hello71) wrote:
> > > This affects at least versions 25 and 33, so assume all cards are broken
> >                      ...
> > >        * 1GBit link after resuming from S3. For whatever reason the PHY on
> > > -      * this chip doesn't properly start a renegotiation when soft-reset.
> > > +      * these chips doesn't properly start a renegotiation when soft-reset.
> >                        ~~~~~~~ 
> > I believe it should be "these chips don't"
> > 
> > With kind regards,
> > Daan
> 
> The grammar is correct as is. The subject of the sentence is "the PHY",
> which is singular. However, I think it should be "the PHYs" instead,
> assuming that they are different.

I keep reading the patch wrong, so here is the end state:

        /* It was reported that several chips end up with 10MBit/Half on a
         * 1GBit link after resuming from S3. For whatever reason the PHY on
         * these chips doesn't properly start a renegotiation when soft-reset.
         * Explicitly requesting a renegotiation fixes this.
         */

I would also say 'don't'. For me the subject is 'PHY on these chips',
which is plural.

However:

For whatever reason the PHY, on these chips, doesn't properly start a
renegotiation when soft-reset.

Now just 'the PHY' is the subject, so singular.

But i'm just a native speaker who never actually learnt the rules of
grammar, it just sounds right or wrong, and i have no idea why.

	 Andrew
Alex Xu \(Hello71\) Oct. 1, 2018, 3:31 a.m. UTC | #4
Quoting Andrew Lunn (2018-10-01 02:39:47)
> I keep reading the patch wrong, so here is the end state:
> 
>         /* It was reported that several chips end up with 10MBit/Half on a
>          * 1GBit link after resuming from S3. For whatever reason the PHY on
>          * these chips doesn't properly start a renegotiation when soft-reset.
>          * Explicitly requesting a renegotiation fixes this.
>          */
> 
> I would also say 'don't'. For me the subject is 'PHY on these chips',
> which is plural.
> 
> However:
> 
> For whatever reason the PHY, on these chips, doesn't properly start a
> renegotiation when soft-reset.
> 
> Now just 'the PHY' is the subject, so singular.
> 
> But i'm just a native speaker who never actually learnt the rules of
> grammar, it just sounds right or wrong, and i have no idea why.

No. Ending in a plural noun doesn't make a noun phrase plural.

Example 1: The boy with the books is walking.
Example 2: The women on the roof are waving.

In these cases, "with" and "on" introduce prepositional phrases
which are subordinate to the noun phrase. The subjects are "boy" and
"women" respectively; the books are not walking, and the roof is not
waving.

In fact, this can be clearly seen by drawing a parse tree, which should
hopefully be a familiar tool to all programmers.

Furthermore, the addition of commas in these cases is not correct (hey,
another example!); the phrases are essential, so commas may not be used.

Regardless, this is highly off-topic, so I think further replies can go
off-list.
Daan Wendelen Oct. 1, 2018, 5:33 a.m. UTC | #5
On Sun, Sep 30, 2018 at 10:30:58PM +0000, Alex Xu wrote:
> Quoting Daan Wendelen (2018-09-30 22:17:51)
> > Hi Alex,
> > 
> > I randomly opened your patch even though I have absolutely no idea what this patch is about, but I
> > found a mistake in one of the comments:
> > 
> > On Sun, Sep 30, 2018 at 11:06:39AM -0400, Alex Xu (Hello71) wrote:
> > > This affects at least versions 25 and 33, so assume all cards are broken
> >                      ...
> > >        * 1GBit link after resuming from S3. For whatever reason the PHY on
> > > -      * this chip doesn't properly start a renegotiation when soft-reset.
> > > +      * these chips doesn't properly start a renegotiation when soft-reset.
> >                        ~~~~~~~ 
> > I believe it should be "these chips don't"
> > 
> > With kind regards,
> > Daan
> 
> The grammar is correct as is. The subject of the sentence is "the PHY",
> which is singular.

You are right, I misread the patch. I thought that "these chips" was
the subject, but I believe "the PHY on these chips" is the subject.

>  However, I think it should be "the PHYs" instead,
> assuming that they are different.

I can't say.

I say we leave it as it is because the comment will look good enough.
David Miller Oct. 3, 2018, 5:34 a.m. UTC | #6
From: "Alex Xu (Hello71)" <alex_y_xu@yahoo.ca>
Date: Sun, 30 Sep 2018 11:06:39 -0400

> This affects at least versions 25 and 33, so assume all cards are broken
> and just renegotiate by default.
> 
> Fixes: 10bc6a6042c9 ("r8169: fix autoneg issue on resume with RTL8168E")
> Signed-off-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>

Applied.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index ab30aaeac6d3..db2f347c1463 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -4072,13 +4072,12 @@  static void rtl8169_init_phy(struct net_device *dev, struct rtl8169_private *tp)
 
 	genphy_soft_reset(dev->phydev);
 
-	/* It was reported that chip version 33 ends up with 10MBit/Half on a
+	/* It was reported that several chips end up with 10MBit/Half on a
 	 * 1GBit link after resuming from S3. For whatever reason the PHY on
-	 * this chip doesn't properly start a renegotiation when soft-reset.
+	 * these chips doesn't properly start a renegotiation when soft-reset.
 	 * Explicitly requesting a renegotiation fixes this.
 	 */
-	if (tp->mac_version == RTL_GIGA_MAC_VER_33 &&
-	    dev->phydev->autoneg == AUTONEG_ENABLE)
+	if (dev->phydev->autoneg == AUTONEG_ENABLE)
 		phy_restart_aneg(dev->phydev);
 }