From 817e1323322c9d58464330a15994e8693b48b9c5 Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Mon, 30 Mar 2020 15:19:50 +0900 Subject: [PATCH] kernel: rtl8367b: use id as a bit offset for BYPASS_LINE_RATE In RTL8367B (RTL8367RB/RTL8367R-VB), the driver in GPL tars of the devices with this switch directly uses the ID of external interface as a bit offset. We should use the same way. ref (RTL8367B): - ASUS RT-N56U - TP-Link Archer C2 v1 ref (RTL8367): - TP-Link TL-WR2543ND v1 Signed-off-by: INAGAKI Hiroshi --- target/linux/generic/files/drivers/net/phy/rtl8367b.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/target/linux/generic/files/drivers/net/phy/rtl8367b.c b/target/linux/generic/files/drivers/net/phy/rtl8367b.c index de1976f13a..1b1d5001a3 100644 --- a/target/linux/generic/files/drivers/net/phy/rtl8367b.c +++ b/target/linux/generic/files/drivers/net/phy/rtl8367b.c @@ -813,8 +813,7 @@ static int rtl8367b_extif_set_mode(struct rtl8366_smi *smi, int id, case RTL8367_EXTIF_MODE_TMII_MAC: case RTL8367_EXTIF_MODE_TMII_PHY: - REG_RMW(smi, RTL8367B_BYPASS_LINE_RATE_REG, - BIT((id + 1) % 2), BIT((id + 1) % 2)); + REG_RMW(smi, RTL8367B_BYPASS_LINE_RATE_REG, BIT(id), BIT(id)); break; case RTL8367_EXTIF_MODE_GMII: @@ -827,8 +826,7 @@ static int rtl8367b_extif_set_mode(struct rtl8366_smi *smi, int id, case RTL8367_EXTIF_MODE_MII_MAC: case RTL8367_EXTIF_MODE_MII_PHY: case RTL8367_EXTIF_MODE_DISABLED: - REG_RMW(smi, RTL8367B_BYPASS_LINE_RATE_REG, - BIT((id + 1) % 2), 0); + REG_RMW(smi, RTL8367B_BYPASS_LINE_RATE_REG, BIT(id), 0); REG_RMW(smi, RTL8367B_EXT_RGMXF_REG(id), BIT(6), 0); break; -- 2.30.2