PCI: rcar: Teardown MSI setup if rcar_pcie_enable() fails
authorMarek Vasut <marek.vasut@gmail.com>
Thu, 24 May 2018 14:36:21 +0000 (16:36 +0200)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Thu, 24 May 2018 17:39:59 +0000 (18:39 +0100)
commit1aea58be739816f05232c64f970784d75a84cd96
tree8dacbee3fdd36b1fa8a4e6f28246d3d48abc8359
parent53f1aebfbe46ffe422138758c9d015502740f714
PCI: rcar: Teardown MSI setup if rcar_pcie_enable() fails

If the rcar_pcie_enable() fails and MSIs are enabled, the setup done in
rcar_pcie_enable_msi() is never undone. Add a function to tear down the
MSI setup by disabling the MSI handling in the PCIe block, deallocating
the pages requested for the MSIs and zapping the IRQ mapping.

Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Phil Edworthy <phil.edworthy@renesas.com>
Cc: Simon Horman <horms+renesas@verge.net.au>
Cc: Wolfram Sang <wsa@the-dreams.de>
Cc: linux-renesas-soc@vger.kernel.org
drivers/pci/host/pcie-rcar.c