Passing zero to dev_err_probe is a success which is incorrect when i2c_check_functionality() fails.
Fix this by passing -ENXIO instead of zero to dev_err_probe().
Fixes: 028a2ae25691 ("ASoC: codecs: Add aw88261 amplifier driver") Reported-by: kernel test robot lkp@intel.com Reported-by: Dan Carpenter error27@gmail.com Closes: https://lore.kernel.org/r/202308150315.CvOTIOKm-lkp@intel.com/ Signed-off-by: Harshit Mogalapalli harshit.m.mogalapalli@oracle.com --- This is only compile tested. --- sound/soc/codecs/aw88261.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/aw88261.c b/sound/soc/codecs/aw88261.c index 6e2266b71386..a697b5006b45 100644 --- a/sound/soc/codecs/aw88261.c +++ b/sound/soc/codecs/aw88261.c @@ -1245,7 +1245,7 @@ static int aw88261_i2c_probe(struct i2c_client *i2c)
ret = i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C); if (!ret) - return dev_err_probe(&i2c->dev, ret, "check_functionality failed"); + return dev_err_probe(&i2c->dev, -ENXIO, "check_functionality failed");
aw88261 = devm_kzalloc(&i2c->dev, sizeof(*aw88261), GFP_KERNEL); if (!aw88261)