diff --git a/[refs] b/[refs] index 359725a29d27..daf46c78d65f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 48bc41a49c4f3aa760dff84e7f71437f5ed520fe +refs/heads/master: 0a3f4358ac6283fe3a565183eaf9716de28b6fd0 diff --git a/trunk/net/core/sock.c b/trunk/net/core/sock.c index b32b1815ae5a..ac63b56e23b2 100644 --- a/trunk/net/core/sock.c +++ b/trunk/net/core/sock.c @@ -1529,6 +1529,8 @@ EXPORT_SYMBOL(proto_register); void proto_unregister(struct proto *prot) { write_lock(&proto_list_lock); + list_del(&prot->node); + write_unlock(&proto_list_lock); if (prot->slab != NULL) { kmem_cache_destroy(prot->slab); @@ -1550,9 +1552,6 @@ void proto_unregister(struct proto *prot) kfree(name); prot->twsk_slab = NULL; } - - list_del(&prot->node); - write_unlock(&proto_list_lock); } EXPORT_SYMBOL(proto_unregister);