diff options
Diffstat (limited to 'net/atm/addr.c')
-rw-r--r-- | net/atm/addr.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/atm/addr.c b/net/atm/addr.c index 1c8867f7f54a..a30d0bf48063 100644 --- a/net/atm/addr.c +++ b/net/atm/addr.c | |||
@@ -50,8 +50,10 @@ void atm_reset_addr(struct atm_dev *dev) | |||
50 | struct atm_dev_addr *this, *p; | 50 | struct atm_dev_addr *this, *p; |
51 | 51 | ||
52 | spin_lock_irqsave(&dev->lock, flags); | 52 | spin_lock_irqsave(&dev->lock, flags); |
53 | list_for_each_entry_safe(this, p, &dev->local, entry) | 53 | list_for_each_entry_safe(this, p, &dev->local, entry) { |
54 | kfree(this); | 54 | list_del(&this->entry); |
55 | kfree(this); | ||
56 | } | ||
55 | spin_unlock_irqrestore(&dev->lock, flags); | 57 | spin_unlock_irqrestore(&dev->lock, flags); |
56 | notify_sigd(dev); | 58 | notify_sigd(dev); |
57 | } | 59 | } |