summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Whitaker <atm@martin-whitaker.co.uk>2005-09-28 16:35:22 -0700
committerDavid S. Miller <davem@davemloft.net>2005-09-28 16:35:22 -0700
commit735631a9196db42631b8817892605ee72e13a58b (patch)
treed6a939f4390c9cbcaecf203772b8405e1fe3da2e
parent9301e320e98ff19a0e48881b038d0c24ca76e6c0 (diff)
downloadlinux-735631a9196db42631b8817892605ee72e13a58b.tar.gz
linux-735631a9196db42631b8817892605ee72e13a58b.tar.bz2
linux-735631a9196db42631b8817892605ee72e13a58b.zip
[ATM]: fix bug in atm address list handling
From: Martin Whitaker <atm@martin-whitaker.co.uk> Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
-rw-r--r--net/atm/addr.c6
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)
struct atm_dev_addr *this, *p;
spin_lock_irqsave(&dev->lock, flags);
- list_for_each_entry_safe(this, p, &dev->local, entry)
- kfree(this);
+ list_for_each_entry_safe(this, p, &dev->local, entry) {
+ list_del(&this->entry);
+ kfree(this);
+ }
spin_unlock_irqrestore(&dev->lock, flags);
notify_sigd(dev);
}