i2c: rockchip: fix power off issue for rk818
[firefly-linux-kernel-4.4.55.git] / drivers / md / raid5.c
index 4daf5c03b33bfdc626d53e6015ccb7c565060117..ef18ca745b1ec6435d3ab2b6bc4168ed56c572bd 100644 (file)
@@ -1701,7 +1701,8 @@ static int resize_stripes(struct r5conf *conf, int newsize)
 
        conf->slab_cache = sc;
        conf->active_name = 1-conf->active_name;
-       conf->pool_size = newsize;
+       if (!err)
+               conf->pool_size = newsize;
        return err;
 }
 
@@ -2853,7 +2854,8 @@ static void handle_stripe_dirtying(struct r5conf *conf,
         * generate correct data from the parity.
         */
        if (conf->max_degraded == 2 ||
-           (recovery_cp < MaxSector && sh->sector >= recovery_cp)) {
+           (recovery_cp < MaxSector && sh->sector >= recovery_cp &&
+            s->failed == 0)) {
                /* Calculate the real rcw later - for now make it
                 * look like rcw is cheaper
                 */