Просмотр исходного кода

rtl83xx: dsa: Clear duplex bit correctly

Without this, luci shows 10M full duplex when there is no link. So
explicitly set half duplex and unknown speed.

Acked-by: Simon Wunderlich <[email protected]>
Signed-off-by: Harshal Gohel <[email protected]>
Harshal Gohel 2 лет назад
Родитель
Сommit
fe01435b69
1 измененных файлов с 2 добавлено и 0 удалено
  1. 2 0
      target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c

+ 2 - 0
target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c

@@ -870,6 +870,8 @@ static void rtl93xx_phylink_mac_config(struct dsa_switch *ds, int port,
 
 	if (state->duplex == DUPLEX_FULL)
 		reg |= RTL930X_DUPLEX_MODE;
+	else
+		reg &= ~RTL930X_DUPLEX_MODE; /* Clear duplex bit otherwise */
 
 	if (priv->ports[port].phy_is_integrated)
 		reg &= ~RTL930X_FORCE_EN; /* Clear MAC_FORCE_EN to allow SDS-MAC link */