| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h
- index 20b6797..2c25863 100644
- --- a/include/linux/lockdep.h
- +++ b/include/linux/lockdep.h
- @@ -192,7 +192,7 @@ static inline void
- lockdep_init_map_waits(struct lockdep_map *lock, const char *name,
- struct lock_class_key *key, int subclass, u8 inner, u8 outer)
- {
- - lockdep_init_map_type(lock, name, key, subclass, inner, LD_WAIT_INV, LD_LOCK_NORMAL);
- + lockdep_init_map_type(lock, name, key, subclass, inner, outer, LD_LOCK_NORMAL);
- }
-
- static inline void
- @@ -215,24 +215,28 @@ static inline void lockdep_init_map(struct lockdep_map *lock, const char *name,
- * or they are too narrow (they suffer from a false class-split):
- */
- #define lockdep_set_class(lock, key) \
- - lockdep_init_map_waits(&(lock)->dep_map, #key, key, 0, \
- - (lock)->dep_map.wait_type_inner, \
- - (lock)->dep_map.wait_type_outer)
- + lockdep_init_map_type(&(lock)->dep_map, #key, key, 0, \
- + (lock)->dep_map.wait_type_inner, \
- + (lock)->dep_map.wait_type_outer, \
- + (lock)->dep_map.lock_type)
-
- #define lockdep_set_class_and_name(lock, key, name) \
- - lockdep_init_map_waits(&(lock)->dep_map, name, key, 0, \
- - (lock)->dep_map.wait_type_inner, \
- - (lock)->dep_map.wait_type_outer)
- + lockdep_init_map_type(&(lock)->dep_map, name, key, 0, \
- + (lock)->dep_map.wait_type_inner, \
- + (lock)->dep_map.wait_type_outer, \
- + (lock)->dep_map.lock_type)
-
- #define lockdep_set_class_and_subclass(lock, key, sub) \
- - lockdep_init_map_waits(&(lock)->dep_map, #key, key, sub,\
- - (lock)->dep_map.wait_type_inner, \
- - (lock)->dep_map.wait_type_outer)
- + lockdep_init_map_type(&(lock)->dep_map, #key, key, sub, \
- + (lock)->dep_map.wait_type_inner, \
- + (lock)->dep_map.wait_type_outer, \
- + (lock)->dep_map.lock_type)
-
- #define lockdep_set_subclass(lock, sub) \
- - lockdep_init_map_waits(&(lock)->dep_map, #lock, (lock)->dep_map.key, sub,\
- - (lock)->dep_map.wait_type_inner, \
- - (lock)->dep_map.wait_type_outer)
- + lockdep_init_map_type(&(lock)->dep_map, #lock, (lock)->dep_map.key, sub,\
- + (lock)->dep_map.wait_type_inner, \
- + (lock)->dep_map.wait_type_outer, \
- + (lock)->dep_map.lock_type)
-
- #define lockdep_set_novalidate_class(lock) \
- lockdep_set_class_and_name(lock, &__lockdep_no_validate__, #lock)
- diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
- index c3387cdc..6cbd2b4 100644
- --- a/kernel/locking/lockdep.c
- +++ b/kernel/locking/lockdep.c
- @@ -5139,9 +5139,10 @@ __lock_set_class(struct lockdep_map *lock, const char *name,
- return 0;
- }
-
- - lockdep_init_map_waits(lock, name, key, 0,
- - lock->wait_type_inner,
- - lock->wait_type_outer);
- + lockdep_init_map_type(lock, name, key, 0,
- + lock->wait_type_inner,
- + lock->wait_type_outer,
- + lock->lock_type);
- class = register_lock_class(lock, subclass, 0);
- hlock->class_idx = class - lock_classes;
-
|