Commit 7ee776cd authored by Jakub Kicinski's avatar Jakub Kicinski

Merge branch 'net-dsa-mv88e6xxx-mst-fixes'

Tobias Waldekranz says:

====================
net: dsa: mv88e6xxx: MST Fixes

1/2 fixes the issue reported by Marek here:

https://lore.kernel.org/netdev/20220318182817.5ade8ecd@dellmb/

2/2 adds a missing capability check to the new .vlan_msti_set
callback.
====================

Link: https://lore.kernel.org/r/20220318201321.4010543-1-tobias@waldekranz.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents e0c0ca35 bd48b911
...@@ -2678,6 +2678,9 @@ static int mv88e6xxx_vlan_msti_set(struct dsa_switch *ds, ...@@ -2678,6 +2678,9 @@ static int mv88e6xxx_vlan_msti_set(struct dsa_switch *ds,
u8 old_sid, new_sid; u8 old_sid, new_sid;
int err; int err;
if (!mv88e6xxx_has_stu(chip))
return -EOPNOTSUPP;
mv88e6xxx_reg_lock(chip); mv88e6xxx_reg_lock(chip);
err = mv88e6xxx_vtu_get(chip, msti->vid, &vlan); err = mv88e6xxx_vtu_get(chip, msti->vid, &vlan);
......
...@@ -730,7 +730,9 @@ struct mv88e6xxx_hw_stat { ...@@ -730,7 +730,9 @@ struct mv88e6xxx_hw_stat {
static inline bool mv88e6xxx_has_stu(struct mv88e6xxx_chip *chip) static inline bool mv88e6xxx_has_stu(struct mv88e6xxx_chip *chip)
{ {
return chip->info->max_sid > 0; return chip->info->max_sid > 0 &&
chip->info->ops->stu_loadpurge &&
chip->info->ops->stu_getnext;
} }
static inline bool mv88e6xxx_has_pvt(struct mv88e6xxx_chip *chip) static inline bool mv88e6xxx_has_pvt(struct mv88e6xxx_chip *chip)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment