summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorLiu Xiang <liu.xiang6@zte.com.cn>2017-03-09 17:40:01 +0300
committerMark Brown <broonie@kernel.org>2017-03-13 19:16:08 +0300
commit500a32abaf818b3f4afe5b7f0ba9ca9b7a3aa65e (patch)
tree19a834f613a5b9a83306329f58ac3758d9d8cd34 /drivers/spi
parentfafd67940774733fa97f4b09412aea6981b82e0a (diff)
downloadlinux-500a32abaf818b3f4afe5b7f0ba9ca9b7a3aa65e.tar.xz
spi: fsl: Call irq_dispose_mapping in err path
Irq_dispose_mapping should be called in err path to release the resources that irq_of_parse_and_map requested. Signed-off-by: Liu Xiang <liu.xiang6@zte.com.cn> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-fsl-spi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/spi/spi-fsl-spi.c b/drivers/spi/spi-fsl-spi.c
index 8b290d9d7935..592034320a41 100644
--- a/drivers/spi/spi-fsl-spi.c
+++ b/drivers/spi/spi-fsl-spi.c
@@ -813,7 +813,7 @@ static int of_fsl_spi_probe(struct platform_device *ofdev)
struct device_node *np = ofdev->dev.of_node;
struct spi_master *master;
struct resource mem;
- int irq, type;
+ int irq = 0, type;
int ret = -ENOMEM;
ret = of_mpc8xxx_spi_probe(ofdev);
@@ -846,6 +846,7 @@ static int of_fsl_spi_probe(struct platform_device *ofdev)
return 0;
err:
+ irq_dispose_mapping(irq);
if (type == TYPE_FSL)
of_fsl_spi_free_chipselects(dev);
return ret;