[ATM]: clip causes unregister hang
authorStephen Hemminger <shemminger@osdl.org>
Fri, 14 Apr 2006 22:07:27 +0000 (15:07 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 Apr 2006 22:07:27 +0000 (15:07 -0700)
commitf3a0592b37b83e56a7f47826f552b35a2c3b2fc9
tree8bdb6f8da73f6c2221067ac5630f57dc7f04efad
parentb8a99520f78e23e47f9efffeb0060c1385064ff6
[ATM]: clip causes unregister hang

If Classical IP over ATM module is loaded, its neighbor table gets
populated when permanent neighbor entries are created; but these entries
are not flushed when the device is removed. Since the entry never gets
flushed the unregister of the network device never completes.

This version of the patch also adds locking around the reference to
the atm arp daemon to avoid races with events and daemon state changes.
(Note: barrier() was never really safe)

Bug-reference: http://bugzilla.kernel.org/show_bug.cgi?id=6295
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/atm/clip.c