]> git.baikalelectronics.ru Git - kernel.git/commit
net: lan78xx: fix accessing the LAN7800's internal phy specific registers from the...
authorYuiko Oshino <yuiko.oshino@microchip.com>
Wed, 1 Mar 2023 15:43:07 +0000 (08:43 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Mar 2023 07:50:24 +0000 (08:50 +0100)
commitc454100c5bb5dd56b684d7147c540d0596437248
treed2fb4bf1c365a6771d3a815534fceeb58e768e1f
parent2722df4c9c5b93103f68710412c09ff33588328d
net: lan78xx: fix accessing the LAN7800's internal phy specific registers from the MAC driver

[ Upstream commit f2fecaff7fabe8e1ee9001d0cdfc969368fe90dc ]

Move the LAN7800 internal phy (phy ID  0x0007c132) specific register
accesses to the phy driver (microchip.c).

Fix the error reported by Enguerrand de Ribaucourt in December 2022,
"Some operations during the cable switch workaround modify the register
LAN88XX_INT_MASK of the PHY. However, this register is specific to the
LAN8835 PHY. For instance, if a DP8322I PHY is connected to the LAN7801,
that register (0x19), corresponds to the LED and MAC address
configuration, resulting in unapropriate behavior."

I did not test with the DP8322I PHY, but I tested with an EVB-LAN7800
with the internal PHY.

Fixes: 09e8bf6570a4 ("lan78xx: workaround of forced 100 Full/Half duplex mode error")
Signed-off-by: Yuiko Oshino <yuiko.oshino@microchip.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20230301154307.30438-1-yuiko.oshino@microchip.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/phy/microchip.c
drivers/net/usb/lan78xx.c