diff --git a/drivers/md/md.c b/drivers/md/md.c
index 60682ba9ae5566e5697ab509cb843331c4171dde..4045aa6103367431b5f68cfd1a4dbeaf0ff49df3 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -7550,8 +7550,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);