OSDN Git Service

net: dsa: b53: Fix B53_SERDES_DIGITAL_CONTROL offset
authorFlorian Fainelli <f.fainelli@gmail.com>
Fri, 21 Sep 2018 23:43:58 +0000 (16:43 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 22 Sep 2018 03:01:19 +0000 (20:01 -0700)
Maths went wrong, to get 0x20, we need to do 0x1e + (x) * 2, not 0x18,
fix that offset so we access the correct registers. This would make us
not access the correct SerDes Digital control words, status would be
fine and so we would not be correctly flipping between Fiber and SGMII
modes resulting in incorrect status words being pulled into the SerDes
digital status register.

Fixes: 0e01491de646 ("net: dsa: b53: Add SerDes support")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/b53/b53_serdes.h

index eed7c93..3bb4f91 100644 (file)
@@ -20,7 +20,7 @@
 #define  SERDES_ID0_REV_LETTER_SHIFT   14
 
 #define B53_SERDES_MII_REG(x)          (0x20 + (x) * 2)
-#define B53_SERDES_DIGITAL_CONTROL(x)  (0x18 + (x) * 2)
+#define B53_SERDES_DIGITAL_CONTROL(x)  (0x1e + (x) * 2)
 #define B53_SERDES_DIGITAL_STATUS      0x28
 
 /* SERDES_DIGITAL_CONTROL1 */