diff --git a/drivers/md/md.c b/drivers/md/md.c index 556c136ce74383f049e8959d6526b346b6048098..2ecd4a782203dc7c9295fe457ef30a84a5b92d03 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -9763,16 +9763,18 @@ static int read_rdev(struct mddev *mddev, struct md_rdev *rdev) void md_reload_sb(struct mddev *mddev, int nr) { - struct md_rdev *rdev; + struct md_rdev *rdev = NULL, *iter; int err; /* Find the rdev */ - rdev_for_each_rcu(rdev, mddev) { - if (rdev->desc_nr == nr) + rdev_for_each_rcu(iter, mddev) { + if (iter->desc_nr == nr) { + rdev = iter; break; + } } - if (!rdev || rdev->desc_nr != nr) { + if (!rdev) { pr_warn("%s: %d Could not find rdev with nr %d\n", __func__, __LINE__, nr); return; }