diff options
Diffstat (limited to 'net/atm/addr.c')
-rw-r--r-- | net/atm/addr.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/atm/addr.c b/net/atm/addr.c index 8bca9d1c3..1814a8b21 100644 --- a/net/atm/addr.c +++ b/net/atm/addr.c @@ -42,7 +42,7 @@ static int identical(struct sockaddr_atmsvc *a,struct sockaddr_atmsvc *b) */ static DECLARE_MUTEX(local_lock); - +extern spinlock_t atm_dev_lock; static void notify_sigd(struct atm_dev *dev) { @@ -58,12 +58,14 @@ void reset_addr(struct atm_dev *dev) struct atm_dev_addr *this; down(&local_lock); + spin_lock (&atm_dev_lock); while (dev->local) { this = dev->local; dev->local = this->next; kfree(this); } up(&local_lock); + spin_unlock (&atm_dev_lock); notify_sigd(dev); } |