If we call lock2() with a==NULL, we call _nested(1), which is wrong. Fix
this so lockdep works correctly.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
if (a < b) {
if (a)
mutex_lock(&a->lock);
- if (b)
- mutex_lock_nested(&b->lock, 1);
+ if (b) {
+ if (a)
+ mutex_lock_nested(&b->lock, 1);
+ else
+ mutex_lock(&b->lock);
+ }
} else {
if (b)
mutex_lock(&b->lock);
- if (a)
- mutex_lock_nested(&a->lock, 1);
+ if (a) {
+ if (b)
+ mutex_lock_nested(&a->lock, 1);
+ else
+ mutex_lock(&a->lock);
+ }
}
}