Message ID | 20190925004707.1799-1-andrew@lunn.ch |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net] net: dsa: qca8k: Fix port enable for CPU port | expand |
On 25. 09. 19 2:47, Andrew Lunn wrote: > The CPU port does not have a PHY connected to it. So calling > phy_support_asym_pause() results in an Opps. As with other DSA > drivers, add a guard that the port is a user port. > > Reported-by: Michal Vokáč <michal.vokac@ysoft.com> Thank you for the prompt fix Andrew! Tested-by: Michal Vokáč <michal.vokac@ysoft.com> > Fixes: 0394a63acfe2 ("net: dsa: enable and disable all ports") > Signed-off-by: Andrew Lunn <andrew@lunn.ch> > --- > drivers/net/dsa/qca8k.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c > index 16f15c93a102..684aa51684db 100644 > --- a/drivers/net/dsa/qca8k.c > +++ b/drivers/net/dsa/qca8k.c > @@ -936,6 +936,9 @@ qca8k_port_enable(struct dsa_switch *ds, int port, > { > struct qca8k_priv *priv = (struct qca8k_priv *)ds->priv; > > + if (!dsa_is_user_port(ds, port)) > + return 0; > + > qca8k_port_set_status(priv, port, 1); > priv->port_sts[port].enabled = 1; > >
From: Andrew Lunn <andrew@lunn.ch> Date: Wed, 25 Sep 2019 02:47:07 +0200 > The CPU port does not have a PHY connected to it. So calling > phy_support_asym_pause() results in an Opps. As with other DSA > drivers, add a guard that the port is a user port. > > Reported-by: Michal Vokáč <michal.vokac@ysoft.com> > Fixes: 0394a63acfe2 ("net: dsa: enable and disable all ports") > Signed-off-by: Andrew Lunn <andrew@lunn.ch> Applied.
diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c index 16f15c93a102..684aa51684db 100644 --- a/drivers/net/dsa/qca8k.c +++ b/drivers/net/dsa/qca8k.c @@ -936,6 +936,9 @@ qca8k_port_enable(struct dsa_switch *ds, int port, { struct qca8k_priv *priv = (struct qca8k_priv *)ds->priv; + if (!dsa_is_user_port(ds, port)) + return 0; + qca8k_port_set_status(priv, port, 1); priv->port_sts[port].enabled = 1;
The CPU port does not have a PHY connected to it. So calling phy_support_asym_pause() results in an Opps. As with other DSA drivers, add a guard that the port is a user port. Reported-by: Michal Vokáč <michal.vokac@ysoft.com> Fixes: 0394a63acfe2 ("net: dsa: enable and disable all ports") Signed-off-by: Andrew Lunn <andrew@lunn.ch> --- drivers/net/dsa/qca8k.c | 3 +++ 1 file changed, 3 insertions(+)