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:
committed by
David S. Miller
parent
f490be049b
commit
f9bf5a2ca6
@@ -80,6 +80,7 @@ dsa_switch_setup(struct dsa_switch_tree *dst, int index,
|
|||||||
int ret;
|
int ret;
|
||||||
char *name;
|
char *name;
|
||||||
int i;
|
int i;
|
||||||
|
bool valid_name_found = false;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Probe for switch model.
|
* Probe for switch model.
|
||||||
@@ -131,8 +132,13 @@ dsa_switch_setup(struct dsa_switch_tree *dst, int index,
|
|||||||
} else {
|
} else {
|
||||||
ds->phys_port_mask |= 1 << i;
|
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
|
* If the CPU connects to this switch, set the switch tree
|
||||||
|
|||||||
Reference in New Issue
Block a user