PCI: rcar: fix error handling of irq_of_parse_and_map
Subsystems (3)
PATCH 1/1 PCI: rcar: fix error handling of irq_of_parse_and_map
Return value of irq_of_parse_and_map() is unsigned int, with 0 indicating failure, so testing for negative result never works.
Signed-off-by Dmitry Torokhov <[email protected]>
---
Not tested, found by casual code inspection.
drivers/pci/host/pcie-rcar.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/pci/host/pcie-rcar.c +2 -2
@@ -764,7 +764,7 @@ static int rcar_pcie_get_resources(struct platform_device *pdev, goto err_map_reg; i =irq_of_parse_and_map (pdev->dev.of_node,0 ); -if (i <0 ) { +if (!i) {dev_err (pcie->dev,"cannot get platform resources for msi interrupt\n" ); err = -ENOENT ; goto err_map_reg;
@@ -772,7 +772,7 @@ static int rcar_pcie_get_resources(struct platform_device *pdev, pcie->msi.irq1 = i; i =irq_of_parse_and_map (pdev->dev.of_node,1 ); -if (i <0 ) { +if (!i) {dev_err (pcie->dev,"cannot get platform resources for msi interrupt\n" ); err = -ENOENT ; goto err_map_reg;
Signature · 5 lines
2.1.0.rc2.206.gedb03e5 -- Dmitry
Hi Dmitry,
Quoted 5 lines · Dmitry
Return value of
irq_of_parse_and_map()is unsigned int, with 0 indicating failure, so testing for negative result never works.Signed-off-by Dmitry Torokhov <[email protected]>
Acked-by Phil Edworthy <[email protected]>
Thanks
Phil
Quoted 39 lines
---
Not tested, found by casual code inspection.
drivers/pci/host/pcie-rcar.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/pci/host/pcie-rcar.c +1
-1@@ -764,7 +764,7 @@ static int rcar_pcie_get_resources(struct platform_device *pdev, goto err_map_reg; i =irq_of_parse_and_map (pdev->dev.of_node,0 ); -if (i <0 ) { +if (!i) {dev_err (pcie->dev,"cannot get platform resources for msi interrupt\n");drivers/pci/host/pcie-rcar.c +1
-1err = -ENOENT ; goto err_map_reg;@@ -772,7 +772,7 @@ static int rcar_pcie_get_resources(struct platform_device *pdev, pcie->msi.irq1 = i; i =irq_of_parse_and_map (pdev->dev.of_node,1 ); -if (i <0 ) { +if (!i) {dev_err (pcie->dev,"cannot get platform resources for msi interrupt\n");drivers/pci/host/pcie-rcar.c +0
-1err = -ENOENT ; goto err_map_reg; --2.1.0.rc2.206.gedb03e5
--
Dmitry
Bjorn Helgaas
maintainerQuoted 4 lines · Dmitry Torokhov
Return value of
irq_of_parse_and_map()is unsigned int, with 0 indicating failure, so testing for negative result never works.Signed-off-by Dmitry Torokhov <[email protected]>
Applied with Phil's ack to next-pci/host-rcar for v3.19. This branch will be rebased to v3.19-rc1.
Quoted 35 lines
---
Not tested, found by casual code inspection.
drivers/pci/host/pcie-rcar.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/pci/host/pcie-rcar.c +2
-2@@ -764,7 +764,7 @@ static int rcar_pcie_get_resources(struct platform_device *pdev, goto err_map_reg; i =irq_of_parse_and_map (pdev->dev.of_node,0 ); -if (i <0 ) { +if (!i) {dev_err (pcie->dev,"cannot get platform resources for msi interrupt\n" ); err = -ENOENT ; goto err_map_reg;@@ -772,7 +772,7 @@ static int rcar_pcie_get_resources(struct platform_device *pdev, pcie->msi.irq1 = i; i =irq_of_parse_and_map (pdev->dev.of_node,1 ); -if (i <0 ) { +if (!i) {dev_err (pcie->dev,"cannot get platform resources for msi interrupt\n" ); err = -ENOENT ; goto err_map_reg;Signature · 5 lines
2.1.0.rc2.206.gedb03e5 -- Dmitry