diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index cbb50d3883a4..1f6c68df6f38 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -3078,7 +3078,7 @@ static void handle_stripe5(struct stripe_head *sh) /* Not in-sync */; else if (test_bit(In_sync, &rdev->flags)) set_bit(R5_Insync, &dev->flags); - else { + else if (!test_bit(Faulty, &rdev->flags)) { /* could be in-sync depending on recovery/reshape status */ if (sh->sector + STRIPE_SECTORS <= rdev->recovery_offset) set_bit(R5_Insync, &dev->flags);