media: ipu3-cio2: Call cio2_bridge_init() before anything else
authorHans de Goede <hdegoede@redhat.com>
Fri, 3 Dec 2021 10:28:56 +0000 (11:28 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Thu, 16 Dec 2021 19:57:58 +0000 (20:57 +0100)
Since cio2_bridge_init() may now return -EPROBE_DEFER it is best to
call it before anything else.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/pci/intel/ipu3/ipu3-cio2-main.c

index e2874fe..0e9b050 100644 (file)
@@ -1713,11 +1713,6 @@ static int cio2_pci_probe(struct pci_dev *pci_dev,
        struct cio2_device *cio2;
        int r;
 
-       cio2 = devm_kzalloc(dev, sizeof(*cio2), GFP_KERNEL);
-       if (!cio2)
-               return -ENOMEM;
-       cio2->pci_dev = pci_dev;
-
        /*
         * On some platforms no connections to sensors are defined in firmware,
         * if the device has no endpoints then we can try to build those as
@@ -1735,6 +1730,11 @@ static int cio2_pci_probe(struct pci_dev *pci_dev,
                        return r;
        }
 
+       cio2 = devm_kzalloc(dev, sizeof(*cio2), GFP_KERNEL);
+       if (!cio2)
+               return -ENOMEM;
+       cio2->pci_dev = pci_dev;
+
        r = pcim_enable_device(pci_dev);
        if (r) {
                dev_err(dev, "failed to enable device (%d)\n", r);