On 9/27/19 9:39 AM, Linus Walleij wrote: > There has been some confusion between the port number and > the VLAN ID in this driver. What we need to check for > validity is the VLAN ID, nothing else. > > The current confusion came from assigning a few default > VLANs for default routing and we need to rewrite that > properly. > > Instead of checking if the port number is a valid VLAN > ID, check the actual VLAN IDs passed in to the callback > one by one as expected. > > Fixes: d8652956cf37 ("net: dsa: realtek-smi: Add Realtek SMI driver") > Signed-off-by: Linus Walleij <linus.wall...@linaro.org> > --- > drivers/net/dsa/rtl8366.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/dsa/rtl8366.c b/drivers/net/dsa/rtl8366.c > index ca3d17e43ed8..e2c91b75e843 100644 > --- a/drivers/net/dsa/rtl8366.c > +++ b/drivers/net/dsa/rtl8366.c > @@ -340,9 +340,11 @@ int rtl8366_vlan_prepare(struct dsa_switch *ds, int port, > { > struct realtek_smi *smi = ds->priv; > int ret; > + int i; > > - if (!smi->ops->is_vlan_valid(smi, port)) > - return -EINVAL; > + for (i = vlan->vid_begin; i < vlan->vid_end; i++) > + if (!smi->ops->is_vlan_valid(smi, port)) > + return -EINVAL;
You are still checking the port and not the "i" (VLAN ID) argument here, is there something I am missing? -- Florian