From: Kieran Bingham <kieran.bingham+renesas@xxxxxxxxxxxxxxxx> The rvin_digital_notify_bound() call dereferences the subdev->dev pointer to obtain the of_node. On some error paths, this dev node can be set as NULL. The of_node is mapped into the subdevice structure on initialisation, so this is a safer source to compare the nodes. Dereference the of_node from the subdev structure instead of the dev structure. Fixes: 83fba2c06f19 ("rcar-vin: rework how subdevice is found and bound") Signed-off-by: Kieran Bingham <kieran.bingham+renesas@xxxxxxxxxxxxxxxx> --- drivers/media/platform/rcar-vin/rcar-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/platform/rcar-vin/rcar-core.c b/drivers/media/platform/rcar-vin/rcar-core.c index 5861ab281150..a530dc388b95 100644 --- a/drivers/media/platform/rcar-vin/rcar-core.c +++ b/drivers/media/platform/rcar-vin/rcar-core.c @@ -469,7 +469,7 @@ static int rvin_digital_notify_bound(struct v4l2_async_notifier *notifier, v4l2_set_subdev_hostdata(subdev, vin); - if (vin->digital.asd.match.of.node == subdev->dev->of_node) { + if (vin->digital.asd.match.of.node == subdev->of_node) { /* Find surce and sink pad of remote subdevice */ ret = rvin_find_pad(subdev, MEDIA_PAD_FL_SOURCE); -- 2.7.4