summaryrefslogtreecommitdiff
path: root/drivers/net/team
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/team')
-rw-r--r--drivers/net/team/team_core.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/team/team_core.c b/drivers/net/team/team_core.c
index ca75f08e3c59..957cc7885d2f 100644
--- a/drivers/net/team/team_core.c
+++ b/drivers/net/team/team_core.c
@@ -1225,6 +1225,17 @@ static int team_port_add(struct team *team, struct net_device *port_dev,
return -EINVAL;
}
+ if (port_dev->type == ARPHRD_CAN ||
+ port_dev->type == ARPHRD_IEEE802154 ||
+ port_dev->type == ARPHRD_IEEE802154_MONITOR ||
+ port_dev->type == ARPHRD_6LOWPAN) {
+ NL_SET_ERR_MSG(extack,
+ "CAN, IEEE 802.15.4 and 6LoWPAN devices can't be added as a team port");
+ netdev_err(dev, "Device %s is CAN, IEEE 802.15.4 or 6LoWPAN. These device types can't be added as a team port\n",
+ portname);
+ return -EINVAL;
+ }
+
if (netif_is_team_port(port_dev)) {
NL_SET_ERR_MSG(extack, "Device is already a port of a team device");
netdev_err(dev, "Device %s is already a port "