diff --git a/fs/partitions/check.c b/fs/partitions/check.c
index 63302534023902affd8d99df74a0b72d6bb11a8e..6d5b213b8a9b4b6e834ca9be99ae6c15a3dc0d13 100644
--- a/fs/partitions/check.c
+++ b/fs/partitions/check.c
@@ -577,7 +577,7 @@ int rescan_partitions(struct gendisk *disk, struct block_device *bdev)
 		}
 #ifdef CONFIG_BLK_DEV_MD
 		if (state->parts[p].flags & ADDPART_FLAG_RAID)
-			md_autodetect_dev(bdev->bd_dev+p);
+			md_autodetect_dev(part_to_dev(part)->devt);
 #endif
 	}
 	kfree(state);