diff --git a/[refs] b/[refs] index 684787d52153..9ccd569e9a4d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4a063739138e2c4e933188d641f1593e01ce8285 +refs/heads/master: 387e2b0439026aa738a9edca15a57e5c0bcb4dfc diff --git a/trunk/net/bridge/br.c b/trunk/net/bridge/br.c index 22d806cf40ca..12da21afb9ca 100644 --- a/trunk/net/bridge/br.c +++ b/trunk/net/bridge/br.c @@ -55,7 +55,7 @@ static int __init br_init(void) static void __exit br_deinit(void) { - llc_sap_close(br_stp_sap); + rcu_assign_pointer(br_stp_sap->rcv_func, NULL); #ifdef CONFIG_BRIDGE_NETFILTER br_netfilter_fini(); @@ -67,6 +67,7 @@ static void __exit br_deinit(void) synchronize_net(); + llc_sap_put(br_stp_sap); br_fdb_get_hook = NULL; br_fdb_put_hook = NULL;