]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
usb: typec: intel_pmc_mux: Defer probe if SCU IPC isn't present
authorTomasz Michalec <tmichalec@google.com>
Tue, 10 Jun 2025 15:40:58 +0000 (17:40 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Aug 2025 14:25:54 +0000 (16:25 +0200)
[ Upstream commit df9a825f330e76c72d1985bc9bdc4b8981e3d15f ]

If pmc_usb_probe is called before SCU IPC is registered, pmc_usb_probe
will fail.

Return -EPROBE_DEFER when pmc_usb_probe doesn't get SCU IPC device, so
the probe function can be called again after SCU IPC is initialized.

Signed-off-by: Tomasz Michalec <tmichalec@google.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20250610154058.1859812-1-tmichalec@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/typec/mux/intel_pmc_mux.c

index 87e2c913060706736ae48a0bb628a0b188b6be14..a6936fc59d1e0d65e1e6041023a233d13f4cff34 100644 (file)
@@ -667,7 +667,7 @@ static int pmc_usb_probe(struct platform_device *pdev)
 
        pmc->ipc = devm_intel_scu_ipc_dev_get(&pdev->dev);
        if (!pmc->ipc)
-               return -ENODEV;
+               return -EPROBE_DEFER;
 
        pmc->dev = &pdev->dev;