diff --git a/drivers/md/md.c b/drivers/md/md.c
index b541b47530fd33b89799a00ee47e3e7cd94dbf53..8ab8afe5546f173d199eadffef36b22cda3aa479 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -7857,8 +7857,7 @@ static int md_open(struct block_device *bdev, fmode_t mode)
 		/* Wait until bdev->bd_disk is definitely gone */
 		if (work_pending(&mddev->del_work))
 			flush_workqueue(md_misc_wq);
-		/* Then retry the open from the top */
-		return -ERESTARTSYS;
+		return -EBUSY;
 	}
 	BUG_ON(mddev != bdev->bd_disk->private_data);