Re: [PATCH] fbcon: Use oops_in_progress instead of panic_cpu

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 22/07/2024 16:15, Daniel Vetter wrote:
On Mon, Jul 22, 2024 at 01:47:51PM +0200, Jocelyn Falempe wrote:
Panic_cpu is not exported, so it can't be used if fbcon is used as
a module. Use oops_in_progress in this case, but non-fatal oops won't
be printed.

Reported-by: kernel test robot <lkp@xxxxxxxxx>
Closes: https://lore.kernel.org/oe-kbuild-all/202407210203.2ISiIC9m-lkp@xxxxxxxxx/
Signed-off-by: Jocelyn Falempe <jfalempe@xxxxxxxxxx>

Yeah it's not great but gets the job done.

Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>

I pushed it to drm-misc-next.

Thanks a lot.


Cheers, Sima

---
  drivers/video/fbdev/core/fbcon.c | 9 +++++++++
  1 file changed, 9 insertions(+)

diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
index 498d9c07df80..2e093535884b 100644
--- a/drivers/video/fbdev/core/fbcon.c
+++ b/drivers/video/fbdev/core/fbcon.c
@@ -64,6 +64,8 @@
  #include <linux/console.h>
  #include <linux/string.h>
  #include <linux/kd.h>
+#include <linux/panic.h>
+#include <linux/printk.h>
  #include <linux/slab.h>
  #include <linux/fb.h>
  #include <linux/fbcon.h>
@@ -272,7 +274,14 @@ static int fbcon_get_rotate(struct fb_info *info)
static bool fbcon_skip_panic(struct fb_info *info)
  {
+/* panic_cpu is not exported, and can't be used if built as module. Use
+ * oops_in_progress instead, but non-fatal oops won't be printed.
+ */
+#if defined(MODULE)
+	return (info->skip_panic && unlikely(oops_in_progress));
+#else
  	return (info->skip_panic && unlikely(atomic_read(&panic_cpu) != PANIC_CPU_INVALID));
+#endif
  }
static inline int fbcon_is_inactive(struct vc_data *vc, struct fb_info *info)

base-commit: 7e33fc2ff6754b5ff39b11297f713cd0841d9962
--
2.45.2






[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux