Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6bf05d03 authored by Jens Axboe's avatar Jens Axboe
Browse files

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: default avatarJens Axboe <jaxboe@fusionio.com>
parent e7f52dfb
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -415,7 +415,8 @@ static int bdi_forker_thread(void *ptr)
				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 @@ static int bdi_forker_thread(void *ptr)
				action = KILL_THREAD;
				break;
			}
			spin_unlock_bh(&bdi->wb_lock);
			spin_unlock(&bdi->wb_lock);
		}
		spin_unlock_bh(&bdi_lock);