mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
net: dsa: mt7530: correct ds->num_ports
Setting ds->num_ports to DSA_MAX_PORTS made DSA core allocate unnecessary dsa_port's and call mt7530_port_disable for non-existent ports. Set it to MT7530_NUM_PORTS to fix that, and dsa_is_user_port check in port_enable/disable is no longer required. Cc: stable@vger.kernel.org Signed-off-by: DENG Qingfang <dqfext@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
66d262804a
commit
342afce10d
@ -1035,9 +1035,6 @@ mt7530_port_enable(struct dsa_switch *ds, int port,
|
|||||||
{
|
{
|
||||||
struct mt7530_priv *priv = ds->priv;
|
struct mt7530_priv *priv = ds->priv;
|
||||||
|
|
||||||
if (!dsa_is_user_port(ds, port))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
mutex_lock(&priv->reg_mutex);
|
mutex_lock(&priv->reg_mutex);
|
||||||
|
|
||||||
/* Allow the user port gets connected to the cpu port and also
|
/* Allow the user port gets connected to the cpu port and also
|
||||||
@ -1060,9 +1057,6 @@ mt7530_port_disable(struct dsa_switch *ds, int port)
|
|||||||
{
|
{
|
||||||
struct mt7530_priv *priv = ds->priv;
|
struct mt7530_priv *priv = ds->priv;
|
||||||
|
|
||||||
if (!dsa_is_user_port(ds, port))
|
|
||||||
return;
|
|
||||||
|
|
||||||
mutex_lock(&priv->reg_mutex);
|
mutex_lock(&priv->reg_mutex);
|
||||||
|
|
||||||
/* Clear up all port matrix which could be restored in the next
|
/* Clear up all port matrix which could be restored in the next
|
||||||
@ -3211,7 +3205,7 @@ mt7530_probe(struct mdio_device *mdiodev)
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
priv->ds->dev = &mdiodev->dev;
|
priv->ds->dev = &mdiodev->dev;
|
||||||
priv->ds->num_ports = DSA_MAX_PORTS;
|
priv->ds->num_ports = MT7530_NUM_PORTS;
|
||||||
|
|
||||||
/* Use medatek,mcm property to distinguish hardware type that would
|
/* Use medatek,mcm property to distinguish hardware type that would
|
||||||
* casues a little bit differences on power-on sequence.
|
* casues a little bit differences on power-on sequence.
|
||||||
|
Loading…
Reference in New Issue
Block a user