usb: typec: fsa4480: Relax CHIP_ID check
commit4f83cae0edupstream. Some FSA4480-compatible chips like the OCP96011 used on Fairphone 5 return 0x00 from the CHIP_ID register. Handle that gracefully and only fail probe when the I2C read has failed. With this the dev_dbg will print 0 but otherwise continue working. [ 0.251581] fsa4480 1-0042: Found FSA4480 v0.0 (Vendor ID = 0) Cc: stable@vger.kernel.org Fixes:e885f5f1f2("usb: typec: fsa4480: Check if the chip is really there") Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://lore.kernel.org/r/20240818-fsa4480-chipid-fix-v1-1-17c239435cf7@fairphone.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
695c0e840b
commit
dcc5a83af7
@@ -274,7 +274,7 @@ static int fsa4480_probe(struct i2c_client *client)
|
||||
return dev_err_probe(dev, PTR_ERR(fsa->regmap), "failed to initialize regmap\n");
|
||||
|
||||
ret = regmap_read(fsa->regmap, FSA4480_DEVICE_ID, &val);
|
||||
if (ret || !val)
|
||||
if (ret)
|
||||
return dev_err_probe(dev, -ENODEV, "FSA4480 not found\n");
|
||||
|
||||
dev_dbg(dev, "Found FSA4480 v%lu.%lu (Vendor ID = %lu)\n",
|
||||
|
||||
Reference in New Issue
Block a user