From: Anna-Maria Gleixner <anna-maria@xxxxxxxxxxxxx> There is no need to invoke release_inactive_stripe_list() with interrupts disabled. All call sites, except raid5_release_stripe(), unlock ->device_lock and enable interrupts before invoking the function. Make it consistent. Signed-off-by: Anna-Maria Gleixner <anna-maria@xxxxxxxxxxxxx> [bigeasy: s@atomic_dec_and_lock@refcount_dec_and_lock@g ] Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> --- drivers/md/raid5.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 28453264c3eb..9433b2619006 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -414,9 +414,8 @@ void raid5_release_stripe(struct stripe_head *sh) INIT_LIST_HEAD(&list); hash = sh->hash_lock_index; do_release_stripe(conf, sh, &list); - spin_unlock(&conf->device_lock); + spin_unlock_irqrestore(&conf->device_lock, flags); release_inactive_stripe_list(conf, &list, hash); - local_irq_restore(flags); } } -- 2.17.0