diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-10-22 16:39:09 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-10-23 20:18:13 -0400 |
commit | b877fe288a325b9711d83628eb54e1deb63f962e (patch) | |
tree | 18396c733e8f4eb684597e9fafbf3b885801603d /drivers/net/sky2.c | |
parent | f5e42fbab6c6ca39a33410a0ed0037589908c264 (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>
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r-- | drivers/net/sky2.c | 4 |
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); |