ASoC: cs35l36: Fix an IS_ERR() vs NULL checking bug
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 22 Feb 2019 06:31:51 +0000 (09:31 +0300)
committerMark Brown <broonie@kernel.org>
Fri, 22 Feb 2019 15:13:03 +0000 (15:13 +0000)
The irq_get_irq_data() function doesn't return error pointers, it
returns NULL.

Fixes: 6ba9dd6c893b ("ASoC: cs35l36: Add support for Cirrus CS35L36 Amplifier")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/cs35l36.c

index dc8cf61b9db825879829c3f6b77976e62864c7c4..e9b5f76f27a864682354ad3b7b4bcf77e9d8dedc 100644 (file)
@@ -1845,9 +1845,9 @@ static int cs35l36_i2c_probe(struct i2c_client *i2c_client,
                cs35l36_apply_vpbr_config(cs35l36);
 
        irq_d = irq_get_irq_data(i2c_client->irq);
-       if (IS_ERR(irq_d)) {
+       if (!irq_d) {
                dev_err(&i2c_client->dev, "Invalid IRQ: %d\n", i2c_client->irq);
-               ret = PTR_ERR(irq_d);
+               ret = -ENODEV;
                goto err;
        }