Commit c79a0225 authored by Dan Carpenter's avatar Dan Carpenter Committed by Jakub Kicinski
Browse files

net: dsa: microchip: Fix a link check in ksz9477_pcs_read()



The BMSR_LSTATUS define is 0x4 but the "p->phydev.link" variable
is a 1 bit bitfield in a u32.  Since 4 doesn't fit in 0-1 range
it means that ".link" is always set to false.  Add a !! to fix
this.

[Jakub: According to Maxime the phydev struct isn't really
used and we should consider removing it completely. So not
treating this as a fix.]

Signed-off-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
Link: https://patch.msgid.link/aQSz_euUg0Ja8ZaH@stanley.mountain


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent dfb073d3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -244,7 +244,7 @@ static int ksz9477_pcs_read(struct mii_bus *bus, int phy, int mmd, int reg)
				p->phydev.link = 0;
			}
		} else if (reg == MII_BMSR) {
			p->phydev.link = (val & BMSR_LSTATUS);
			p->phydev.link = !!(val & BMSR_LSTATUS);
		}
	}