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> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9a48ce8400
commit
84314bf922
1 changed files with 4 additions and 0 deletions
|
@ -1121,6 +1121,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;
|
||||
|
|
Loading…
Reference in a new issue