]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
auxdisplay: panel: Fix an API misuse in panel.c
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 24 Feb 2025 12:36:25 +0000 (14:36 +0200)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 24 Feb 2025 13:46:55 +0000 (15:46 +0200)
Variable allocated by charlcd_alloc() should be released
by charlcd_free(). The following patch changed kfree() to
charlcd_free() to fix an API misuse.

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Fixes: 718e05ed92ec ("auxdisplay: Introduce hd44780_common.[ch]")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/auxdisplay/panel.c

index a731f28455b45f632fd4b5376cca826ca3a4fedc..6dc8798d01f98c96ee487e0b1bf19e2003c03a6d 100644 (file)
@@ -1664,7 +1664,7 @@ err_lcd_unreg:
        if (lcd.enabled)
                charlcd_unregister(lcd.charlcd);
 err_unreg_device:
-       kfree(lcd.charlcd);
+       charlcd_free(lcd.charlcd);
        lcd.charlcd = NULL;
        parport_unregister_device(pprt);
        pprt = NULL;
@@ -1692,7 +1692,7 @@ static void panel_detach(struct parport *port)
                charlcd_unregister(lcd.charlcd);
                lcd.initialized = false;
                kfree(lcd.charlcd->drvdata);
-               kfree(lcd.charlcd);
+               charlcd_free(lcd.charlcd);
                lcd.charlcd = NULL;
        }