dsa: make dsa_switch_setup check for valid port names

This patch changes dsa_switch_setup() to ensure that at least one valid
valid port name is specified and will bail out with an error in case we
walked the maximum number of port with a valid port name found.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Florian Fainelli 2013-01-21 09:58:51 +00:00 committed by David S. Miller
parent f490be049b
commit f9bf5a2ca6
1 changed files with 6 additions and 0 deletions

View File

@ -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