diff --git a/[refs] b/[refs] index 73490a9f12e5..78830ab47340 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 22dfdf5212e5864b844f629736fb993d4611f190 +refs/heads/master: 700e432d8364ce59c521abbe03a522051610ebc2 diff --git a/trunk/drivers/md/raid5.c b/trunk/drivers/md/raid5.c index e2a40283e323..36d5f8ac8265 100644 --- a/trunk/drivers/md/raid5.c +++ b/trunk/drivers/md/raid5.c @@ -1704,7 +1704,9 @@ static void raid5d (mddev_t *mddev) if (conf->seq_flush - conf->seq_write > 0) { int seq = conf->seq_flush; + spin_unlock_irq(&conf->device_lock); bitmap_unplug(mddev->bitmap); + spin_lock_irq(&conf->device_lock); conf->seq_write = seq; activate_bit_delay(conf); } diff --git a/trunk/drivers/md/raid6main.c b/trunk/drivers/md/raid6main.c index eae5a35629c5..17d88d90d1ef 100644 --- a/trunk/drivers/md/raid6main.c +++ b/trunk/drivers/md/raid6main.c @@ -1784,7 +1784,9 @@ static void raid6d (mddev_t *mddev) if (conf->seq_flush - conf->seq_write > 0) { int seq = conf->seq_flush; + spin_unlock_irq(&conf->device_lock); bitmap_unplug(mddev->bitmap); + spin_lock_irq(&conf->device_lock); conf->seq_write = seq; activate_bit_delay(conf); }