* Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > > > @@ -257,7 +260,9 @@ static void run_workqueue(struct cpu_wor > > > > > > BUG_ON(get_wq_data(work) != cwq); > > > work_clear_pending(work); > > > + lock_acquire(&cwq->wq->lockdep_map, 0, 0, 0, 2, _THIS_IP_); > > > f(work); > > > + lock_release(&cwq->wq->lockdep_map, 0, _THIS_IP_); > > ^^^ > > Isn't it better to call lock_release() with nested == 1 ? > > Not sure, Ingo? well, in this case the lock/unlock should nest perfectly (i.e. it should always be balanced perfectly), so indeed calling with nested==1 leads to stricter checking. non-nested unlocks occur when people do stuff like: spin_lock(&lock1); spin_lock(&lock2); spin_unlock(&lock1); spin_unlock(&lock2); the first unlock is not 'nested perfectly'. Now for the workqueue dep_map this shouldnt be a legal combination, right? Ingo - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html