On Wed, May 23, 2018 at 12:52:20PM +0200, Marek Vasut wrote: > The rcar_pcie_enable_msi() creates IRQ mappings using irq_create_mapping() > before requesting the IRQs using devm_request_irq(). If devm_request_irq() > fails for some reason, rcar_pcie_enable_msi() does not remove the mapping. > > Pull out the code for disposing IRQ mappings from rcar_pcie_teardown_msi() > into a separate function and call it from both rcar_pcie_teardown_msi() > and rcar_pcie_enable_msi() failpath to remove the mappings correctly. > > Signed-off-by: Marek Vasut <marek.vasut+renesas@xxxxxxxxx> > Reported-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > Cc: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> > Cc: Simon Horman <horms+renesas@xxxxxxxxxxxx> > Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> > Cc: linux-renesas-soc@xxxxxxxxxxxxxxx Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>