diff options
author | Mikulas Patocka <mpatocka@redhat.com> | 2019-04-01 17:46:56 +0200 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2019-04-01 17:46:56 +0200 |
commit | 6b11f9d8433b471fdd3ebed232b43a4b723be6ff (patch) | |
tree | 0ea2723e1a6b691cba78eda2ebe365305c11b59b /crypto/chacha20poly1305.c | |
parent | udlfb: delete the unused parameter for dlfb_handle_damage (diff) | |
download | linux-6b11f9d8433b471fdd3ebed232b43a4b723be6ff.tar.xz linux-6b11f9d8433b471fdd3ebed232b43a4b723be6ff.zip |
udlfb: fix sleeping inside spinlock
If a framebuffer device is used as a console, the rendering calls
(copyarea, fillrect, imageblit) may be done with the console spinlock
held. On udlfb, these function call dlfb_handle_damage that takes a
blocking semaphore before acquiring an URB.
In order to fix the bug, this patch changes the calls copyarea, fillrect
and imageblit to offload USB work to a workqueue.
A side effect of this patch is 3x improvement in console scrolling speed
because the device doesn't have to be updated after each copyarea call.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Cc: Bernie Thompson <bernie@plugable.com>
Cc: Ladislav Michl <ladis@linux-mips.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Diffstat (limited to 'crypto/chacha20poly1305.c')
0 files changed, 0 insertions, 0 deletions