net: mv88e6xxx: Enable PORT_CONTROL_FORWARD_UNKNOWN for DSA-tagged CPU ports
authorJamie Lentin <jm@lentin.co.uk>
Mon, 22 Aug 2016 14:01:04 +0000 (16:01 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 23 Aug 2016 04:08:08 +0000 (21:08 -0700)
Without it, a mv88e6131 switch will not forward incoming unicast
packets to the CPU port.

Signed-off-by: Jamie Lentin <jm@lentin.co.uk>
Reviewed-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6xxx/chip.c

index 1d5f9576e62a43e073ddbef088c5046a844b7c3b..82d45165803c0fdd0a9b25b8ea0066037793c337 100644 (file)
@@ -2490,11 +2490,11 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port)
        if (dsa_is_cpu_port(ds, port)) {
                if (mv88e6xxx_has(chip, MV88E6XXX_FLAG_EDSA))
                        reg |= PORT_CONTROL_FRAME_ETHER_TYPE_DSA |
-                               PORT_CONTROL_FORWARD_UNKNOWN |
                                PORT_CONTROL_FORWARD_UNKNOWN_MC;
                else
                        reg |= PORT_CONTROL_DSA_TAG;
-               reg |= PORT_CONTROL_EGRESS_ADD_TAG;
+               reg |= PORT_CONTROL_EGRESS_ADD_TAG |
+                       PORT_CONTROL_FORWARD_UNKNOWN;
        }
        if (dsa_is_dsa_port(ds, port)) {
                if (mv88e6xxx_6095_family(chip) ||