ibm_emac: Correctly detect old link speed
Subsystems (2)
PATCH 1/1 ibm_emac: Correctly detect old link speed
This patch fixes a bug where the link speed change was not detected correctly. This occured on a 440SPe (EMAC4) system where the old link speed was 100Mbps and the new link speed is 1000Mbps.
---
commit 1e2a6085bbb6bd384e0812b6e9c62d18d14e1c0f
tree f441a914c9d66fb00fcde1e4bd7e02effba20dc7
parent 7b104bcb8e460e45a1aebe3da9b86aacdb4cab12
author Stefan Roese <[email protected]> Wed, 16 May 2007 12:54:40 +0200 committer Stefan Roese <[email protected]> Wed, 16 May 2007 12:54:40 +0200
drivers/net/ibm_emac/ibm_emac_core.c | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-)
drivers/net/ibm_emac/ibm_emac_core.c +12 -6
@@ -926,12 +926,18 @@ static int emac_link_differs(struct ocp_enet_private *dev)int duplex = r &EMAC_MR1_FDE ?DUPLEX_FULL :DUPLEX_HALF ;int speed, pause, asym_pause; -if (r & (EMAC_MR1_MF_1000 |EMAC_MR1_MF_1000GPCS )) - speed =SPEED_1000 ; -else if (r &EMAC_MR1_MF_100 ) - speed =SPEED_100 ; -else - speed =SPEED_10 ; +switch (r &EMAC_MR1_MF_MASK ) { +case EMAC_MR1_MF_1000 : +case EMAC_MR1_MF_1000GPCS : + speed =1000 ; +break ; +case EMAC_MR1_MF_10 : + speed =10 ; +break ; +case EMAC_MR1_MF_100 : +default : + speed =100 ; + }switch (r & (EMAC_MR1_EIFC |EMAC_MR1_APP )) {case (EMAC_MR1_EIFC |EMAC_MR1_APP ):
Quoted 4 lines · Stefan Roese
This patch fixes a bug where the link speed change was not detected correctly. This occured on a 440SPe (EMAC4) system where the old link speed was 100Mbps and the new link speed is 1000Mbps.
Good catch, Stefan. Unfortunately, I have to NACK your patch - you broke non EMAC4 builds.
Correct fix is just to remove EMAC_MR1_MF_1000GPCS from the first if condition.
I'll send correct fix shortly along with other queued patches.
Signature · 1 line
Eugene
Quoted 8 lines · Eugene Surovegin
Quoted 4 lines · Stefan Roese
This patch fixes a bug where the link speed change was not detected correctly. This occured on a 440SPe (EMAC4) system where the old link speed was 100Mbps and the new link speed is 1000Mbps.
Good catch, Stefan. Unfortunately, I have to NACK your patch - you broke non EMAC4 builds.
Yes, you're right of course.
Quoted 2 lines
Correct fix is just to remove
EMAC_MR1_MF_1000GPCSfrom the first if condition.
Yep.
Quoted 1 line
I'll send correct fix shortly along with other queued patches.
Thanks.
Best regards,
Stefan
David Gibson
AppliedQuoted 12 lines · Stefan Roese
Quoted 8 lines · Eugene Surovegin
Quoted 4 lines · Stefan Roese
This patch fixes a bug where the link speed change was not detected correctly. This occured on a 440SPe (EMAC4) system where the old link speed was 100Mbps and the new link speed is 1000Mbps.
Good catch, Stefan. Unfortunately, I have to NACK your patch - you broke non EMAC4 builds.
Yes, you're right of course.
Quoted 8 lines
Quoted 2 lines
Correct fix is just to remove
EMAC_MR1_MF_1000GPCSfrom the first if condition.Yep.
Quoted 1 line
I'll send correct fix shortly along with other queued patches.
Thanks.
I've merged essentially the same fix into the device tree aware "new_emac" driver.
Signature · 4 lines
David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson