]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: dsa: mv88e6xx: fix supported_interfaces setup in mv88e6250_phylink_get_caps()
authorMatthias Schiffer <matthias.schiffer@ew.tq-group.com>
Wed, 17 Apr 2024 10:37:37 +0000 (12:37 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 May 2024 14:32:36 +0000 (16:32 +0200)
commit0142cbb87cf6f0565d704feff4f63b371790a83f
tree84b264476e4709470f8340c128b9a606e49e9699
parentb50bb503922320c726006947b351f5dc037eb2ba
net: dsa: mv88e6xx: fix supported_interfaces setup in mv88e6250_phylink_get_caps()

[ Upstream commit a4e3899065ffa87d49dc20e8c17501edbc189692 ]

With the recent PHYLINK changes requiring supported_interfaces to be set,
MV88E6250 family switches like the 88E6020 fail to probe - cmode is
never initialized on these devices, so mv88e6250_phylink_get_caps() does
not set any supported_interfaces flags.

Instead of a cmode, on 88E6250 we have a read-only port mode value that
encodes similar information. There is no reason to bother mapping port
mode to the cmodes of other switch models; instead we introduce a
mv88e6250_setup_supported_interfaces() that is called directly from
mv88e6250_phylink_get_caps().

Fixes: de5c9bf40c45 ("net: phylink: require supported_interfaces to be filled")
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Link: https://lore.kernel.org/r/20240417103737.166651-1-matthias.schiffer@ew.tq-group.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/dsa/mv88e6xxx/chip.c
drivers/net/dsa/mv88e6xxx/port.h