diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index 510e75435c43..f3425e51a54b 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c @@ -2446,6 +2446,12 @@ static void __exit nbd_cleanup(void) struct nbd_device *nbd; LIST_HEAD(del_list); + /* + * Unregister netlink interface prior to waiting + * for the completion of netlink commands. + */ + genl_unregister_family(&nbd_genl_family); + nbd_dbg_close(); mutex_lock(&nbd_index_mutex); @@ -2461,7 +2467,6 @@ static void __exit nbd_cleanup(void) } idr_destroy(&nbd_index_idr); - genl_unregister_family(&nbd_genl_family); unregister_blkdev(NBD_MAJOR, "nbd"); }