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

Fixes: 11ea809f1a74 (net: dsa: mv88e6xxx: support 256 databases)
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 3e9be3f51196e7f41ec2b64952ce26402bf5f4c2..ecef69045a4248c8c575145ab50a92a6e650bd81 100644 (file)
@@ -415,7 +415,7 @@ int mv88e6185_g1_vtu_loadpurge(struct mv88e6xxx_chip *chip,
                 * VTU DBNum[7:4] are located in VTU Operation 11:8
                 */
                op |= entry->fid & 0x000f;
-               op |= (entry->fid & 0x00f0) << 8;
+               op |= (entry->fid & 0x00f0) << 4;
        }
 
        return mv88e6xxx_g1_vtu_op(chip, op);