aboutsummaryrefslogtreecommitdiffstats
path: root/net/8021q/vlan.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-11-24 17:16:30 +1100
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-11-24 17:16:30 +1100
commit1e43bee9c70654b4d52472c19e5f0a0cc18b6b36 (patch)
treeff601ec0c0d14125d0324f21b3c7e6d5e19fa252 /net/8021q/vlan.c
parent7d6709a20866a885916214590b7c394a21be9e25 (diff)
parenta8a8a669ea13d792296737505adc43ccacf3a648 (diff)
downloadkernel_goldelico_gta04-1e43bee9c70654b4d52472c19e5f0a0cc18b6b36.zip
kernel_goldelico_gta04-1e43bee9c70654b4d52472c19e5f0a0cc18b6b36.tar.gz
kernel_goldelico_gta04-1e43bee9c70654b4d52472c19e5f0a0cc18b6b36.tar.bz2
Merge commit 'origin/master' into next
Diffstat (limited to 'net/8021q/vlan.c')
-rw-r--r--net/8021q/vlan.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index 8836575..a29c5ab 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -281,8 +281,11 @@ out_uninit_applicant:
if (ngrp)
vlan_gvrp_uninit_applicant(real_dev);
out_free_group:
- if (ngrp)
- vlan_group_free(ngrp);
+ if (ngrp) {
+ hlist_del_rcu(&ngrp->hlist);
+ /* Free the group, after all cpu's are done. */
+ call_rcu(&ngrp->rcu, vlan_rcu_free);
+ }
return err;
}