From: Joe Chou Date: Tue, 23 Dec 2008 03:38:17 +0000 (-0800) Subject: r6040: fix wrong logic in mdio code X-Git-Tag: v2.6.27.13~36 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0e3ee4452e429811861a5a42f6ba6c33226deff1;p=thirdparty%2Fkernel%2Fstable.git r6040: fix wrong logic in mdio code [ Upstream commit: 11e5e8f5d14a1229706576184d2cf4c4556ed94c ] This patch fixes a reverse logic in the MDIO code. Signed-off-by: Joe Chou Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c index 5d86281d9363d..da43d9e0f17ec 100644 --- a/drivers/net/r6040.c +++ b/drivers/net/r6040.c @@ -214,7 +214,7 @@ static int r6040_phy_read(void __iomem *ioaddr, int phy_addr, int reg) /* Wait for the read bit to be cleared */ while (limit--) { cmd = ioread16(ioaddr + MMDIO); - if (cmd & MDIO_READ) + if (!(cmd & MDIO_READ)) break; } @@ -233,7 +233,7 @@ static void r6040_phy_write(void __iomem *ioaddr, int phy_addr, int reg, u16 val /* Wait for the write bit to be cleared */ while (limit--) { cmd = ioread16(ioaddr + MMDIO); - if (cmd & MDIO_WRITE) + if (!(cmd & MDIO_WRITE)) break; } }