Commit b44d52a5 authored by Andrew Lunn's avatar Andrew Lunn Committed by David S. Miller

dsa: tag_dsa: Fix mask for trunked packets

A packet received on a trunk will have bit 2 set in Forward DSA tagged
frame. Bit 1 can be either 0 or 1 and is otherwise undefined and bit 0
indicates the frame CFI. Masking with 7 thus results in frames as
being identified as being from a trunk when in fact they are not. Fix
the mask to just look at bit 2.

Fixes: 5b60dadb ("net: dsa: tag_dsa: Support reception of packets from LAG devices")
Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
Reviewed-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7cd8b154
...@@ -210,7 +210,7 @@ static struct sk_buff *dsa_rcv_ll(struct sk_buff *skb, struct net_device *dev, ...@@ -210,7 +210,7 @@ static struct sk_buff *dsa_rcv_ll(struct sk_buff *skb, struct net_device *dev,
cmd = dsa_header[0] >> 6; cmd = dsa_header[0] >> 6;
switch (cmd) { switch (cmd) {
case DSA_CMD_FORWARD: case DSA_CMD_FORWARD:
trunk = !!(dsa_header[1] & 7); trunk = !!(dsa_header[1] & 4);
break; break;
case DSA_CMD_TO_CPU: case DSA_CMD_TO_CPU:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment