writeback: fix bad _bh spinlock nesting
Fix a bug where a lock is _bh nested within another _bh lock,
but forgets to use the _bh variant for unlock.
Further more, it's not necessary to test _bh locks, the inner lock
can just use spin_lock(). So fix up the bug by making that change.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 0b8ee669..08d3575 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -415,7 +415,8 @@
break;
}
- spin_lock_bh(&bdi->wb_lock);
+ spin_lock(&bdi->wb_lock);
+
/*
* If there is no work to do and the bdi thread was
* inactive long enough - kill it. The wb_lock is taken
@@ -432,7 +433,7 @@
action = KILL_THREAD;
break;
}
- spin_unlock_bh(&bdi->wb_lock);
+ spin_unlock(&bdi->wb_lock);
}
spin_unlock_bh(&bdi_lock);