vxlan: move IGMP join/leave to work queue
authorStephen Hemminger <stephen@networkplumber.org>
Mon, 17 Jun 2013 21:16:10 +0000 (14:16 -0700)
committerStephen Hemminger <stephen@networkplumber.org>
Mon, 24 Jun 2013 15:40:32 +0000 (08:40 -0700)
commit7c47cedf43a8b3086c3dcf26cbc058747ee21bec
tree50b4bbbd0e4e0c6fc9a5daeb8d51a55e0eaab12c
parent758c57d16adcbec3c03e85f0c9a5b4ca31f6c507
vxlan: move IGMP join/leave to work queue

Do join/leave from work queue to avoid lock inversion problems
between normal socket and RTNL. The code comes out cleaner
as well.

Uses Cong Wang's suggestion to turn refcnt into a real atomic
since now need to handle case where last use of socket is IGMP
worker.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
drivers/net/vxlan.c