diff options
Diffstat (limited to 'net/dsa/dsa.c')
| -rw-r--r-- | net/dsa/dsa.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c index 45295ca09571..2bc62ea857c8 100644 --- a/net/dsa/dsa.c +++ b/net/dsa/dsa.c @@ -80,6 +80,7 @@ dsa_switch_setup(struct dsa_switch_tree *dst, int index,  	int ret;  	char *name;  	int i; +	bool valid_name_found = false;  	/*  	 * Probe for switch model. @@ -131,8 +132,13 @@ dsa_switch_setup(struct dsa_switch_tree *dst, int index,  		} else {  			ds->phys_port_mask |= 1 << i;  		} +		valid_name_found = true;  	} +	if (!valid_name_found && i == DSA_MAX_PORTS) { +		ret = -EINVAL; +		goto out; +	}  	/*  	 * If the CPU connects to this switch, set the switch tree |