summaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/sccnxp.c
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2023-11-10 16:29:29 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-11-23 20:12:29 +0100
commitad90d0358bd3b4554f243a425168fc7cebe7d04e (patch)
tree9eaac8d58cb44b33bbb456a474f79b7f9c63855b /drivers/tty/serial/sccnxp.c
parentLinux 6.7-rc2 (diff)
downloadlinux-ad90d0358bd3b4554f243a425168fc7cebe7d04e.tar.xz
linux-ad90d0358bd3b4554f243a425168fc7cebe7d04e.zip
serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed
Returning an error code from .remove() makes the driver core emit the little helpful error message: remove callback returned a non-zero value. This will be ignored. and then remove the device anyhow. So all resources that were not freed are leaked in this case. Skipping serial8250_unregister_port() has the potential to keep enough of the UART around to trigger a use-after-free. So replace the error return (and with it the little helpful error message) by a more useful error message and continue to cleanup. Fixes: e3f0c638f428 ("serial: 8250: omap: Fix unpaired pm_runtime_put_sync() in omap8250_remove()") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Reviewed-by: Tony Lindgren <tony@atomide.com> Link: https://lore.kernel.org/r/20231110152927.70601-2-u.kleine-koenig@pengutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions