]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/tc35815.c
tc35815: Mark carrier-off before starting PHY
[linux-2.6-omap-h63xx.git] / drivers / net / tc35815.c
index 744f11f5ffb8fdb1d1d349442d0eeaae2dcc05e8..dccea525165ef0c84b4ced4b4ce27393b8ae558d 100644 (file)
@@ -766,7 +766,8 @@ static int tc_mii_init(struct net_device *dev)
        lp->mii_bus.name = "tc35815_mii_bus";
        lp->mii_bus.read = tc_mdio_read;
        lp->mii_bus.write = tc_mdio_write;
-       lp->mii_bus.id = (lp->pci_dev->bus->number << 8) | lp->pci_dev->devfn;
+       snprintf(lp->mii_bus.id, MII_BUS_ID_SIZE, "%x",
+                (lp->pci_dev->bus->number << 8) | lp->pci_dev->devfn);
        lp->mii_bus.priv = dev;
        lp->mii_bus.dev = &lp->pci_dev->dev;
        lp->mii_bus.irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
@@ -1393,6 +1394,7 @@ tc35815_open(struct net_device *dev)
        tc35815_chip_init(dev);
        spin_unlock_irq(&lp->lock);
 
+       netif_carrier_off(dev);
        /* schedule a link state check */
        phy_start(lp->phy_dev);
 
@@ -2452,6 +2454,7 @@ static int tc35815_resume(struct pci_dev *pdev)
                return 0;
        pci_set_power_state(pdev, PCI_D0);
        tc35815_restart(dev);
+       netif_carrier_off(dev);
        if (lp->phy_dev)
                phy_start(lp->phy_dev);
        netif_device_attach(dev);