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