diff options
| author | Alan Cox <[email protected]> | 2013-01-25 10:28:15 +1000 |
|---|---|---|
| committer | Dave Airlie <[email protected]> | 2013-02-08 12:02:40 +1000 |
| commit | 50e244cc793d511b86adea24972f3a7264cae114 (patch) | |
| tree | de59e5f228a256ad09521524639e1b5b6e49b8cc /include/linux | |
| parent | 84b603abd23300df8ee5fb1c23c83634c2aaedea (diff) | |
fb: rework locking to fix lock ordering on takeover
Adjust the console layer to allow a take over call where the caller
already holds the locks. Make the fb layer lock in order.
This is partly a band aid, the fb layer is terminally confused about the
locking rules it uses for its notifiers it seems.
[[email protected]: remove stray non-ascii char, tidy comment]
[[email protected]: export do_take_over_console()]
[airlied: cleanup another non-ascii char]
Signed-off-by: Alan Cox <[email protected]>
Cc: Florian Tobias Schandinat <[email protected]>
Cc: Stephen Rothwell <[email protected]>
Cc: Jiri Kosina <[email protected]>
Cc: stable <[email protected]>
Tested-by: Sedat Dilek <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/console.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/console.h b/include/linux/console.h index dedb082fe50f..4ef4307dfb82 100644 --- a/include/linux/console.h +++ b/include/linux/console.h @@ -78,6 +78,7 @@ int con_is_bound(const struct consw *csw); int register_con_driver(const struct consw *csw, int first, int last); int unregister_con_driver(const struct consw *csw); int take_over_console(const struct consw *sw, int first, int last, int deflt); +int do_take_over_console(const struct consw *sw, int first, int last, int deflt); void give_up_console(const struct consw *sw); #ifdef CONFIG_HW_CONSOLE int con_debug_enter(struct vc_data *vc); |