diff -r 69056c46aa4d -r bc2d4bf9cbe5 devices/r8169-2.6.32-ethercat.c --- a/devices/r8169-2.6.32-ethercat.c Thu Sep 06 19:52:17 2012 +0200 +++ b/devices/r8169-2.6.32-ethercat.c Thu Sep 06 20:22:24 2012 +0200 @@ -2704,7 +2704,7 @@ if (!tp->ecdev) spin_lock_irq(&tp->lock); - + if (tp->phy_reset_pending(ioaddr)) { /* * A busy loop could burn quite a few cycles on nowadays CPU. @@ -3319,7 +3319,6 @@ goto err_release_ring_2; napi_enable(&tp->napi); - } rtl_hw_start(dev); @@ -4765,7 +4764,6 @@ netif_stop_queue(dev); napi_disable(&tp->napi); - } core_down: @@ -4925,7 +4923,7 @@ struct pci_dev *pdev = to_pci_dev(device); struct net_device *dev = pci_get_drvdata(pdev); struct rtl8169_private *tp = netdev_priv(dev); - + if (tp->ecdev) return -EBUSY;