Commit e8c88a6f authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] via-rhine: de-isolate PHY

From: Roger Luethi <rl@hellgate.ch>

PHYs may come up isolated.  Make sure we can send data to them.  This code
section needs a clean-up, but I prefer to merge this fix in isolation.

Report and suggested fix by Tam, Ming Dat (Tommy).
Signed-off-by: default avatarRoger Luethi <rl@hellgate.ch>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
parent 0d6e55a9
...@@ -896,7 +896,10 @@ static int __devinit rhine_init_one(struct pci_dev *pdev, ...@@ -896,7 +896,10 @@ static int __devinit rhine_init_one(struct pci_dev *pdev,
pci_set_drvdata(pdev, dev); pci_set_drvdata(pdev, dev);
{ {
u16 mii_cmd;
int mii_status = mdio_read(dev, phy_id, 1); int mii_status = mdio_read(dev, phy_id, 1);
mii_cmd = mdio_read(dev, phy_id, MII_BMCR) & ~BMCR_ISOLATE;
mdio_write(dev, phy_id, MII_BMCR, mii_cmd);
if (mii_status != 0xffff && mii_status != 0x0000) { if (mii_status != 0xffff && mii_status != 0x0000) {
rp->mii_if.advertising = mdio_read(dev, phy_id, 4); rp->mii_if.advertising = mdio_read(dev, phy_id, 4);
printk(KERN_INFO "%s: MII PHY found at address " printk(KERN_INFO "%s: MII PHY found at address "
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment