]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
USB: sisusbvga: Make console support depend on BROKEN
authorThomas Gleixner <tglx@linutronix.de>
Mon, 19 Oct 2020 10:06:30 +0000 (12:06 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 Dec 2020 12:42:33 +0000 (13:42 +0100)
commit 862ee699fefe1e6d6f2c1518395f0b999b8beb15 upstream.

The console part of sisusbvga is broken vs. printk(). It uses in_atomic()
to detect contexts in which it cannot sleep despite the big fat comment in
preempt.h which says: Do not use in_atomic() in driver code.

in_atomic() does not work on kernels with CONFIG_PREEMPT_COUNT=n which
means that spin/rw_lock held regions are not detected by it.

There is no way to make this work by handing context information through to
the driver and this only can be solved once the core printk infrastructure
supports sleepable console drivers.

Make it depend on BROKEN for now.

Fixes: 1bbb4f2035d9 ("[PATCH] USB: sisusb[vga] update")
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Thomas Winischhofer <thomas@winischhofer.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20201019101109.603244207@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/sisusbvga/Kconfig

index 36bc28c884ad75afd2c5dbe4dcca4543236aa909..47dabccafef43249dca4f6c857d6c713ee168405 100644 (file)
@@ -15,7 +15,7 @@ config USB_SISUSBVGA
 
 config USB_SISUSBVGA_CON
        bool "Text console and mode switching support" if USB_SISUSBVGA
-       depends on VT
+       depends on VT && BROKEN
        select FONT_8x16
        ---help---
          Say Y here if you want a VGA text console via the USB dongle or