diff options
-rw-r--r-- | drivers/md/raid5.c | 2 | ||||
-rw-r--r-- | drivers/md/raid6main.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index e2a40283e323..36d5f8ac8265 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c | |||
@@ -1704,7 +1704,9 @@ static void raid5d (mddev_t *mddev) | |||
1704 | 1704 | ||
1705 | if (conf->seq_flush - conf->seq_write > 0) { | 1705 | if (conf->seq_flush - conf->seq_write > 0) { |
1706 | int seq = conf->seq_flush; | 1706 | int seq = conf->seq_flush; |
1707 | spin_unlock_irq(&conf->device_lock); | ||
1707 | bitmap_unplug(mddev->bitmap); | 1708 | bitmap_unplug(mddev->bitmap); |
1709 | spin_lock_irq(&conf->device_lock); | ||
1708 | conf->seq_write = seq; | 1710 | conf->seq_write = seq; |
1709 | activate_bit_delay(conf); | 1711 | activate_bit_delay(conf); |
1710 | } | 1712 | } |
diff --git a/drivers/md/raid6main.c b/drivers/md/raid6main.c index eae5a35629c5..17d88d90d1ef 100644 --- a/drivers/md/raid6main.c +++ b/drivers/md/raid6main.c | |||
@@ -1784,7 +1784,9 @@ static void raid6d (mddev_t *mddev) | |||
1784 | 1784 | ||
1785 | if (conf->seq_flush - conf->seq_write > 0) { | 1785 | if (conf->seq_flush - conf->seq_write > 0) { |
1786 | int seq = conf->seq_flush; | 1786 | int seq = conf->seq_flush; |
1787 | spin_unlock_irq(&conf->device_lock); | ||
1787 | bitmap_unplug(mddev->bitmap); | 1788 | bitmap_unplug(mddev->bitmap); |
1789 | spin_lock_irq(&conf->device_lock); | ||
1788 | conf->seq_write = seq; | 1790 | conf->seq_write = seq; |
1789 | activate_bit_delay(conf); | 1791 | activate_bit_delay(conf); |
1790 | } | 1792 | } |