diff --git a/drivers/s390/block/scm_blk.c b/drivers/s390/block/scm_blk.c
index e9b9c83928325fc708b72df751d51c08bf7bde82..b303cab76a7f3787149837fdd3223b6d04c7d7bb 100644
--- a/drivers/s390/block/scm_blk.c
+++ b/drivers/s390/block/scm_blk.c
@@ -465,7 +465,7 @@ static int __init scm_blk_init(void)
 	scm_major = ret;
 	ret = scm_alloc_rqs(nr_requests);
 	if (ret)
-		goto out_unreg;
+		goto out_free;
 
 	scm_debug = debug_register("scm_log", 16, 1, 16);
 	if (!scm_debug) {
@@ -486,7 +486,6 @@ static int __init scm_blk_init(void)
 	debug_unregister(scm_debug);
 out_free:
 	scm_free_rqs();
-out_unreg:
 	unregister_blkdev(scm_major, "scm");
 out:
 	return ret;