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 d4ecc2b..3622271 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 */