summaryrefslogtreecommitdiff
path: root/drivers/md/md.c
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2019-06-17 10:19:39 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2019-06-17 10:19:38 -0700
commit4e933027e6848a194b03aa35c26bc20fe06205e9 (patch)
treeab1dda795bb590c589a5af45f0692b3b6f3c3931 /drivers/md/md.c
parentc176a066dfd36e31ebaf2796a12b2c523e7083dc (diff)
parent5ef154a26639ad07ed3ebdaea1dabe29065982b0 (diff)
Merge "Merge android-4.4.181 (bd858d7) into msm-4.4"
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r--drivers/md/md.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index e60d855b82e0..68ebab54883e 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -2690,8 +2690,10 @@ state_store(struct md_rdev *rdev, const char *buf, size_t len)
err = 0;
}
} else if (cmd_match(buf, "re-add")) {
- if (test_bit(Faulty, &rdev->flags) && (rdev->raid_disk == -1) &&
- rdev->saved_raid_disk >= 0) {
+ if (!rdev->mddev->pers)
+ err = -EINVAL;
+ else if (test_bit(Faulty, &rdev->flags) && (rdev->raid_disk == -1) &&
+ rdev->saved_raid_disk >= 0) {
/* clear_bit is performed _after_ all the devices
* have their local Faulty bit cleared. If any writes
* happen in the meantime in the local node, they