Message ID | 200901071740.38060.florian@openwrt.org |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Florian Fainelli <florian@openwrt.org> Date: Wed, 7 Jan 2009 17:40:37 +0100 > r6040: check PHY status when bringing interface up > > This patch makes the driver properly initialize the PHY > status if not correctly set by the bootloader/BIOS. > It prevents some boards to bring up the link on boot. > > Signed-off-by: Florian Fainelli <florian@openwrt.org> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c index 3e685d7..a59efbd 100644 --- a/drivers/net/r6040.c +++ b/drivers/net/r6040.c @@ -1107,6 +1107,10 @@ static int __devinit r6040_init_one(struct pci_dev *pdev, err = -EIO; goto err_out_free_res; } + /* If PHY status change register is still set to zero it means the + * bootloader didn't initialize it */ + if (ioread16(ioaddr + PHY_CC) == 0) + iowrite16(0x9f07, ioaddr + PHY_CC); /* Init system & device */ lp->base = ioaddr;