[PATCH] fbcon: Use oops_in_progress instead of panic_cpu
Daniel Vetter
daniel.vetter at ffwll.ch
Mon Jul 22 14:15:51 UTC 2024
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 at intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202407210203.2ISiIC9m-lkp@intel.com/
> Signed-off-by: Jocelyn Falempe <jfalempe at redhat.com>
Yeah it's not great but gets the job done.
Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
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
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list