aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@linux-foundation.org>2007-10-22 16:39:09 -0400
committerJeff Garzik <jeff@garzik.org>2007-10-23 20:18:13 -0400
commitb877fe288a325b9711d83628eb54e1deb63f962e (patch)
tree18396c733e8f4eb684597e9fafbf3b885801603d
parentf5e42fbab6c6ca39a33410a0ed0037589908c264 (diff)
sky2: crash on remove
Fix off-by one in remove logic that just got introduced. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/net/sky2.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 24cfb6275d9b..c27c7d63b6a5 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -4271,7 +4271,7 @@ static void __devexit sky2_remove(struct pci_dev *pdev)
4271 del_timer_sync(&hw->watchdog_timer); 4271 del_timer_sync(&hw->watchdog_timer);
4272 cancel_work_sync(&hw->restart_work); 4272 cancel_work_sync(&hw->restart_work);
4273 4273
4274 for (i = hw->ports; i >= 0; --i) 4274 for (i = hw->ports-1; i >= 0; --i)
4275 unregister_netdev(hw->dev[i]); 4275 unregister_netdev(hw->dev[i]);
4276 4276
4277 sky2_write32(hw, B0_IMSK, 0); 4277 sky2_write32(hw, B0_IMSK, 0);
@@ -4289,7 +4289,7 @@ static void __devexit sky2_remove(struct pci_dev *pdev)
4289 pci_release_regions(pdev); 4289 pci_release_regions(pdev);
4290 pci_disable_device(pdev); 4290 pci_disable_device(pdev);
4291 4291
4292 for (i = hw->ports; i >= 0; --i) 4292 for (i = hw->ports-1; i >= 0; --i)
4293 free_netdev(hw->dev[i]); 4293 free_netdev(hw->dev[i]);
4294 4294
4295 iounmap(hw->regs); 4295 iounmap(hw->regs);