diff mbox

PCI: keystone: fix error handling of irq_of_parse_and_map

Message ID 20141114221903.GA38539@dtor-ws (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show

Commit Message

Dmitry Torokhov Nov. 14, 2014, 10:19 p.m. UTC
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 <dtor@chromium.org>
---

Not tested, found by casual code inspection.

 drivers/pci/host/pci-keystone.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Murali Karicheri Nov. 19, 2014, 6:02 p.m. UTC | #1
On 11/14/2014 05:19 PM, Dmitry Torokhov wrote:
> 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<dtor@chromium.org>
> ---
>
> Not tested, found by casual code inspection.
>
>   drivers/pci/host/pci-keystone.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/host/pci-keystone.c b/drivers/pci/host/pci-keystone.c
> index 8a27078..f2bd48d 100644
> --- a/drivers/pci/host/pci-keystone.c
> +++ b/drivers/pci/host/pci-keystone.c
> @@ -197,7 +197,7 @@ static int ks_pcie_get_irq_controller_info(struct keystone_pcie *ks_pcie,
>   	 */
>   	for (temp = 0; temp<  max_host_irqs; temp++) {
>   		host_irqs[temp] = irq_of_parse_and_map(*np_temp, temp);
> -		if (host_irqs[temp]<  0)
> +		if (!host_irqs[temp])
>   			break;
>   	}
>   	if (temp) {
Good catch!

Acked-By: Murali Karicheri <m-karicheri2@ti.com>
Bjorn Helgaas Dec. 9, 2014, 10:38 p.m. UTC | #2
On Fri, Nov 14, 2014 at 02:19:03PM -0800, Dmitry Torokhov wrote:
> 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 <dtor@chromium.org>

Applied with Murali's ack to next-pci/host-keystone for v3.19.  This
branch will be rebased to v3.19-rc1.

> ---
> 
> Not tested, found by casual code inspection.
> 
>  drivers/pci/host/pci-keystone.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/host/pci-keystone.c b/drivers/pci/host/pci-keystone.c
> index 8a27078..f2bd48d 100644
> --- a/drivers/pci/host/pci-keystone.c
> +++ b/drivers/pci/host/pci-keystone.c
> @@ -197,7 +197,7 @@ static int ks_pcie_get_irq_controller_info(struct keystone_pcie *ks_pcie,
>  	 */
>  	for (temp = 0; temp < max_host_irqs; temp++) {
>  		host_irqs[temp] = irq_of_parse_and_map(*np_temp, temp);
> -		if (host_irqs[temp] < 0)
> +		if (!host_irqs[temp])
>  			break;
>  	}
>  	if (temp) {
> -- 
> 2.1.0.rc2.206.gedb03e5
> 
> 
> -- 
> Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/pci/host/pci-keystone.c b/drivers/pci/host/pci-keystone.c
index 8a27078..f2bd48d 100644
--- a/drivers/pci/host/pci-keystone.c
+++ b/drivers/pci/host/pci-keystone.c
@@ -197,7 +197,7 @@  static int ks_pcie_get_irq_controller_info(struct keystone_pcie *ks_pcie,
 	 */
 	for (temp = 0; temp < max_host_irqs; temp++) {
 		host_irqs[temp] = irq_of_parse_and_map(*np_temp, temp);
-		if (host_irqs[temp] < 0)
+		if (!host_irqs[temp])
 			break;
 	}
 	if (temp) {