2014-11-14 22:29:29

by Dmitry Torokhov

[permalink] [raw]
Subject: [PATCH] NFC: pn544: i2c: 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/nfc/pn544/i2c.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/nfc/pn544/i2c.c b/drivers/nfc/pn544/i2c.c
index 440291a..cfb3f0b 100644
--- a/drivers/nfc/pn544/i2c.c
+++ b/drivers/nfc/pn544/i2c.c
@@ -918,13 +918,12 @@ static int pn544_hci_i2c_of_request_resources(struct i2c_client *client)
}

/* IRQ */
- ret = irq_of_parse_and_map(pp, 0);
- if (ret < 0) {
- nfc_err(&client->dev,
- "Unable to get irq, error: %d\n", ret);
+ client->irq = irq_of_parse_and_map(pp, 0);
+ if (!client->irq) {
+ nfc_err(&client->dev, "Unable to get irq\n");
+ ret = -EINVAL;
goto err_gpio_fw;
}
- client->irq = ret;

return 0;

--
2.1.0.rc2.206.gedb03e5


--
Dmitry