serial: sccnxp: Improve error message if regulator_disable() fails
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fri, 10 Nov 2023 15:29:30 +0000 (16:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Nov 2023 19:12:30 +0000 (19:12 +0000)
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 replace the error return (and with it the little helpful error
message) by a more useful error message.

Fixes: 31815c08fc90 ("serial: sccnxp: Replace pdata.init/exit with regulator API")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20231110152927.70601-3-u.kleine-koenig@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sccnxp.c

index 2be2c10980253fefc9215a4c42e8523b362537a9..8269b0fb3083243035b63a3e60e11d18fcd74075 100644 (file)
@@ -1036,8 +1036,11 @@ static int sccnxp_remove(struct platform_device *pdev)
 
        uart_unregister_driver(&s->uart);
 
-       if (!IS_ERR(s->regulator))
-               return regulator_disable(s->regulator);
+       if (!IS_ERR(s->regulator)) {
+               int ret = regulator_disable(s->regulator);
+               if (ret)
+                       dev_err(&pdev->dev, "Failed to disable regulator\n");
+       }
 
        return 0;
 }