![]() fb_notifier_call_chain() is called with info->lock held, i.e. in do_fb_ioctl() => FBIOPUT_VSCREENINFO => fb_set_var() and the some notifier callbacks, like fbcon_event_notify(), try to re-acquire info->lock again. Remove the lock/unlock_fb_info() in all the framebuffer notifier callbacks' and be sure to always call fb_notifier_call_chain() with info->lock held. Reported-by: Pavel Roskin <proski@gnu.org> Reported-by: Eric Miao <eric.y.miao@gmail.com> Signed-off-by: Andrea Righi <righi.andrea@gmail.com> Cc: Stefan Richter <stefanr@s5r6.in-berlin.de> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
.gitignore | ||
bitblit.c | ||
dummycon.c | ||
fbcon.c | ||
fbcon.h | ||
fbcon_ccw.c | ||
fbcon_cw.c | ||
fbcon_rotate.c | ||
fbcon_rotate.h | ||
fbcon_ud.c | ||
font_6x11.c | ||
font_7x14.c | ||
font_8x8.c | ||
font_8x16.c | ||
font_10x18.c | ||
font_acorn_8x8.c | ||
font_mini_4x6.c | ||
font_pearl_8x8.c | ||
font_sun8x16.c | ||
font_sun12x22.c | ||
fonts.c | ||
Kconfig | ||
Makefile | ||
mdacon.c | ||
newport_con.c | ||
prom.uni | ||
promcon.c | ||
softcursor.c | ||
sticon.c | ||
sticore.c | ||
tileblit.c | ||
vgacon.c |