On Thu, May 01, 2008 at 12:06:55AM +0800, WANG Cong wrote:
Hi, Herbert.
I referenced the book Linux Device Drivers, it is said that
the work function in workqueue can sleep, that is to say, it only
works in process context, so we don't need the disable the lock
in softirq, which is interrupt context, right?
Because it can sleep, you must disable BH for locks that can
be taken on the softirq path as otherwise a softirq can come
in, try to take the lock again and dead-lock.