]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
serial: 8250: omap: Cleanup on error in request_irq
authorMarkus Schneider-Pargmann <msp@baylibre.com>
Wed, 7 Aug 2024 14:12:25 +0000 (16:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Oct 2024 14:33:18 +0000 (16:33 +0200)
[ Upstream commit 35e648a16018b747897be2ccc3ce95ff23237bb5 ]

If devm_request_irq fails, the code does not cleanup many things that
were setup before. Instead of directly returning ret we should jump to
err.

Fixes: fef4f600319e ("serial: 8250: omap: Fix life cycle issues for interrupt handlers")
Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Tested-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20240807141227.1093006-4-msp@baylibre.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/tty/serial/8250/8250_omap.c

index afef1dd4ddf49c070efda75be10a1a2696e91413..fca5f25d693a727667d136138c7b7b73074439fd 100644 (file)
@@ -1581,7 +1581,7 @@ static int omap8250_probe(struct platform_device *pdev)
        ret = devm_request_irq(&pdev->dev, up.port.irq, omap8250_irq, 0,
                               dev_name(&pdev->dev), priv);
        if (ret < 0)
-               return ret;
+               goto err;
 
        priv->wakeirq = irq_of_parse_and_map(np, 1);