From: Daniel Scally Date: Tue, 23 Nov 2021 00:00:05 +0000 (+0100) Subject: media: i2c: Defer probe if not endpoint found X-Git-Tag: v5.17-rc1~171^2~152 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ba0c8045ea62e4870883570c65d86f1bc06eaa4c;p=thirdparty%2Fkernel%2Flinux.git media: i2c: Defer probe if not endpoint found The ov8865 driver is one of those that can be connected to a CIO2 device by the cio2-bridge code. This means that the absence of an endpoint for this device is not necessarily fatal, as one might be built by the cio2-bridge when it probes. Return -EPROBE_DEFER if no endpoint is found rather than a fatal error. Signed-off-by: Daniel Scally Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/i2c/ov8865.c b/drivers/media/i2c/ov8865.c index a6372a0989e1c..68fdb1ce1e945 100644 --- a/drivers/media/i2c/ov8865.c +++ b/drivers/media/i2c/ov8865.c @@ -2796,10 +2796,8 @@ static int ov8865_probe(struct i2c_client *client) /* Graph Endpoint */ handle = fwnode_graph_get_next_endpoint(dev_fwnode(dev), NULL); - if (!handle) { - dev_err(dev, "unable to find endpoint node\n"); - return -EINVAL; - } + if (!handle) + return -EPROBE_DEFER; sensor->endpoint.bus_type = V4L2_MBUS_CSI2_DPHY;