net: dsa: mv88e6xxx: fix shift of FID bits in mv88e6250_g1_vtu_loadpurge()
authorRasmus Villemoes <rasmus.villemoes@prevas.dk>
Wed, 19 Jun 2019 10:02:38 +0000 (10:02 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Jun 2019 14:25:59 +0000 (10:25 -0400)
The comment is correct, but the code ends up moving the bits four
places too far, into the VTUOp field.

Fixes: bec8e5725281 (net: dsa: mv88e6xxx: implement vtu_getnext and vtu_loadpurge for mv88e6250)
Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6xxx/global1_vtu.c

index 45040f9..4f7b522 100644 (file)
@@ -444,7 +444,7 @@ int mv88e6250_g1_vtu_loadpurge(struct mv88e6xxx_chip *chip,
                 * VTU DBNum[5:4] are located in VTU Operation 9:8
                 */
                op |= entry->fid & 0x000f;
-               op |= (entry->fid & 0x0030) << 8;
+               op |= (entry->fid & 0x0030) << 4;
        }
 
        return mv88e6xxx_g1_vtu_op(chip, op);