]> 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:28:18 +0000 (16:28 +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 60ed1f809130d8b35a527581677b2229e42b5112..a174ff7a9abd3986a50c1e37475fee0fafb4c528 100644 (file)
@@ -730,7 +730,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;