diff options
author | Andrew Lunn <andrew@lunn.ch> | 2014-10-24 23:44:04 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-10-28 15:27:54 -0400 |
commit | ae439286a0dec99cc8029868243689b5b5f3ff75 (patch) | |
tree | e3b462eb507de0d5c882ad9b26dc36b67726b686 /net/dsa | |
parent | f89b7755f517cdbb755d7543eef986ee9d54e654 (diff) | |
download | linux-ae439286a0dec99cc8029868243689b5b5f3ff75.tar.gz linux-ae439286a0dec99cc8029868243689b5b5f3ff75.tar.bz2 linux-ae439286a0dec99cc8029868243689b5b5f3ff75.zip |
net: dsa: Error out on tagging protocol mismatches
If there is a mismatch between enabled tagging protocols and the
protocol the switch supports, error out, rather than continue with a
situation which is unlikely to work.
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
cc: alexander.h.duyck@intel.com
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dsa')
-rw-r--r-- | net/dsa/dsa.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c index 22f34cf4cb27..6317b41c99b0 100644 --- a/net/dsa/dsa.c +++ b/net/dsa/dsa.c @@ -174,8 +174,11 @@ dsa_switch_setup(struct dsa_switch_tree *dst, int index, dst->rcv = brcm_netdev_ops.rcv; break; #endif - default: + case DSA_TAG_PROTO_NONE: break; + default: + ret = -ENOPROTOOPT; + goto out; } dst->tag_protocol = drv->tag_protocol; |