diff --git a/drivers/md/md.c b/drivers/md/md.c
index f2d5628d51cb7a46c4c2bef3733a31008749484a..1138d1053e9a1a8c9653647e34a70e5ea2e11410 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -2463,6 +2463,9 @@ slot_store(mdk_rdev_t *rdev, const char *buf, size_t len)
 		if (rdev->raid_disk != -1)
 			return -EBUSY;
 
+		if (test_bit(MD_RECOVERY_RUNNING, &rdev->mddev->recovery))
+			return -EBUSY;
+
 		if (rdev->mddev->pers->hot_add_disk == NULL)
 			return -EINVAL;