Commit 5845b81b authored by Dave Airlie's avatar Dave Airlie

Revert "Revert "console: implement lockdep support for console_lock""

This reverts commit ff0d05bf.

Now that we have all the locking fixes in place, we can revert the
revert. This re-enables lockdep tracking for the console lock,
daee7797.
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 054430e7
...@@ -87,6 +87,12 @@ static DEFINE_SEMAPHORE(console_sem); ...@@ -87,6 +87,12 @@ static DEFINE_SEMAPHORE(console_sem);
struct console *console_drivers; struct console *console_drivers;
EXPORT_SYMBOL_GPL(console_drivers); EXPORT_SYMBOL_GPL(console_drivers);
#ifdef CONFIG_LOCKDEP
static struct lockdep_map console_lock_dep_map = {
.name = "console_lock"
};
#endif
/* /*
* This is used for debugging the mess that is the VT code by * This is used for debugging the mess that is the VT code by
* keeping track if we have the console semaphore held. It's * keeping track if we have the console semaphore held. It's
...@@ -1918,6 +1924,7 @@ void console_lock(void) ...@@ -1918,6 +1924,7 @@ void console_lock(void)
return; return;
console_locked = 1; console_locked = 1;
console_may_schedule = 1; console_may_schedule = 1;
mutex_acquire(&console_lock_dep_map, 0, 0, _RET_IP_);
} }
EXPORT_SYMBOL(console_lock); EXPORT_SYMBOL(console_lock);
...@@ -1939,6 +1946,7 @@ int console_trylock(void) ...@@ -1939,6 +1946,7 @@ int console_trylock(void)
} }
console_locked = 1; console_locked = 1;
console_may_schedule = 0; console_may_schedule = 0;
mutex_acquire(&console_lock_dep_map, 0, 1, _RET_IP_);
return 1; return 1;
} }
EXPORT_SYMBOL(console_trylock); EXPORT_SYMBOL(console_trylock);
...@@ -2099,6 +2107,7 @@ void console_unlock(void) ...@@ -2099,6 +2107,7 @@ void console_unlock(void)
local_irq_restore(flags); local_irq_restore(flags);
} }
console_locked = 0; console_locked = 0;
mutex_release(&console_lock_dep_map, 1, _RET_IP_);
/* Release the exclusive_console once it is used */ /* Release the exclusive_console once it is used */
if (unlikely(exclusive_console)) if (unlikely(exclusive_console))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment