mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02: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
					
				
					 1 changed files with 1 additions and 7 deletions
				
			
		| 
						 | 
					@ -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 a new issue