From 3eb1e914683540490e6788eded2d16f432266342 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Wed, 23 Nov 2011 15:07:42 +0100 Subject: [PATCH] Fixed driver unloading in e1000 for 2.6.29. --- devices/e1000/e1000_main-2.6.29-ethercat.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/devices/e1000/e1000_main-2.6.29-ethercat.c b/devices/e1000/e1000_main-2.6.29-ethercat.c index 92c45ee0..f6ab3fa1 100755 --- a/devices/e1000/e1000_main-2.6.29-ethercat.c +++ b/devices/e1000/e1000_main-2.6.29-ethercat.c @@ -1315,7 +1315,12 @@ static void __devexit e1000_remove(struct pci_dev *pdev) * would have already happened in close and is redundant. */ e1000_release_hw_control(adapter); - unregister_netdev(netdev); + if (adapter->ecdev) { + ecdev_close(adapter->ecdev); + ecdev_withdraw(adapter->ecdev); + } else { + unregister_netdev(netdev); + } if (!e1000_check_phy_reset_block(hw)) e1000_phy_hw_reset(hw);