From: Vivien Didelot Date: Fri, 9 Aug 2019 22:47:58 +0000 (-0400) Subject: net: dsa: mv88e6xxx: fix SMI bit checking X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=1c6463b6fc36f2261df1a68ee13a5ebd980914b1;p=linux.git net: dsa: mv88e6xxx: fix SMI bit checking The current mv88e6xxx_smi_direct_wait function is only used to check the 16th bit of the (16-bit) SMI Command register. But the bit shift operation is not enough if we eventually use this function to check other bits, thus replace it with a mask. Fixes: e7ba0fad9c53 ("net: dsa: mv88e6xxx: refine SMI support") Signed-off-by: Vivien Didelot Signed-off-by: David S. Miller --- diff --git a/drivers/net/dsa/mv88e6xxx/smi.c b/drivers/net/dsa/mv88e6xxx/smi.c index 5fc78a0638432..18e87a5a20a35 100644 --- a/drivers/net/dsa/mv88e6xxx/smi.c +++ b/drivers/net/dsa/mv88e6xxx/smi.c @@ -64,7 +64,7 @@ static int mv88e6xxx_smi_direct_wait(struct mv88e6xxx_chip *chip, if (err) return err; - if (!!(data >> bit) == !!val) + if (!!(data & BIT(bit)) == !!val) return 0; }