media: ivsc: ace: probe ace device after IPU bridge is initialized.
authorWentong Wu <wentong.wu@intel.com>
Tue, 29 Aug 2023 05:24:28 +0000 (13:24 +0800)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 27 Sep 2023 07:39:56 +0000 (09:39 +0200)
During probe ivsc ace device, acpi_dev_clear_dependencies() will be
called to clear the consumer and supplier relationship between camera
sensor device and ivsc device. But IPU bridge will setup the connection
swnodes for ivsc device and camera sensor device based on this consumer
and supplier relationship. This patch defers ivsc ace's probe to make
sure IPU bridge is initialized before this consumer and supplier
relationship between camera sensor device and IVSC device is cleared.

Signed-off-by: Wentong Wu <wentong.wu@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/pci/intel/ivsc/mei_ace.c

index d4ecc2b4a7f0712a4687c3f3ee0180bce53e0771..3622271c71c8834bd21f78b3d6d5918d727a5515 100644 (file)
@@ -406,6 +406,9 @@ static int mei_ace_setup_dev_link(struct mei_ace *ace)
        if (!csi_dev) {
                ret = -EPROBE_DEFER;
                goto err;
+       } else if (!dev_fwnode(csi_dev)) {
+               ret = -EPROBE_DEFER;
+               goto err_put;
        }
 
        /* setup link between mei_ace and mei_csi */