OSDN Git Service

net: dsa: mv88e6xxx: Work around mv886e6161 SERDES missing MII_PHYSID2
authorAndrew Lunn <andrew@lunn.ch>
Mon, 12 Nov 2018 17:51:01 +0000 (18:51 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 13 Dec 2019 07:51:21 +0000 (08:51 +0100)
commit381b6e9257dc10199142763aaf26488262b726a4
tree59b59bea7c5ff3a4984a48e40afe51dfc29ceb14
parent1181b6965fe36a96b2c8e6aa922ba3039e516ca5
net: dsa: mv88e6xxx: Work around mv886e6161 SERDES missing MII_PHYSID2

[ Upstream commit ddc49acb659a2d8bfc5fdb0de0ef197712c11d75 ]

We already have a workaround for a couple of switches whose internal
PHYs only have the Marvel OUI, but no model number. We detect such
PHYs and give them the 6390 ID as the model number. However the
mv88e6161 has two SERDES interfaces in the same address range as its
internal PHYs. These suffer from the same problem, the Marvell OUI,
but no model number. As a result, these SERDES interfaces were getting
the same PHY ID as the mv88e6390, even though they are not PHYs, and
the Marvell PHY driver was trying to drive them.

Add a special case to stop this from happen.

Reported-by: Chris Healy <Chris.Healy@zii.aero>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/dsa/mv88e6xxx/chip.c