r6040: fix wrong logic in mdio code
authorJoe Chou <Joe.Chou@rdc.com.tw>
Tue, 23 Dec 2008 03:38:17 +0000 (19:38 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 23 Dec 2008 03:38:17 +0000 (19:38 -0800)
This patch fixes a reverse logic in the MDIO code.

Signed-off-by: Joe Chou <Joe.Chou@rdc.com.tw>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/r6040.c

index 281080d579e19c2ef0254cfba05d130da973962f..cc5e316de5719eb10570d7451ce2a2151ec7f1d0 100644 (file)
@@ -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;
        }
 }