- DEBUG_LOCKS_WARN_ON(lock->magic != lock);
- DEBUG_LOCKS_WARN_ON(lock->owner != current);
- DEBUG_LOCKS_WARN_ON(!lock->wait_list.prev && !lock->wait_list.next);
+ if(DEBUG_LOCKS_WARN_ON(lock->magic != lock)){
+ printk("[MUTEX WARN!!] bad lock magic:%p\n", lock->magic);
+ }
+ if(DEBUG_LOCKS_WARN_ON(lock->owner != current)){
+ if(lock->owner != NULL){
+ printk("[MUTEX WARN!!] releasing mutex which is hold by another process, %p\n", lock->owner);
+ printk("[MUTEX WARN!!] current process[%d:%s] is trying to release lock\n But it should be released by lock owner-process[%d:%s]\n", current->pid, current->comm, lock->owner->pid, lock->owner->comm);
+ }else
+ printk("\n[MUTEX WARN!!] imbalanced unlock\n");
+ }
+ if(DEBUG_LOCKS_WARN_ON(!lock->wait_list.prev && !lock->wait_list.next)){
+ printk("[MUTEX WARN!!] wait_list both empty in prev and next \n");
+ }