]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
platform/chrome: cros_ec_typec: Check for EC driver
authorAkihiko Odaki <akihiko.odaki@gmail.com>
Mon, 4 Apr 2022 04:11:01 +0000 (13:11 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 1 Feb 2025 17:24:01 +0000 (18:24 +0100)
commit 7464ff8bf2d762251b9537863db0e1caf9b0e402 upstream.

The EC driver may not be initialized when cros_typec_probe is called,
particulary when CONFIG_CROS_EC_CHARDEV=m.

Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Link: https://lore.kernel.org/r/20220404041101.6276-1-akihiko.odaki@gmail.com
Signed-off-by: Prashant Malani <pmalani@chromium.org>
Signed-off-by: Laura Nao <laura.nao@collabora.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/platform/chrome/cros_ec_typec.c

index 2b8bef0d7ee52593b49190145b9e3dbca1ae84ec..c065963b9a42a70411024d46a726af1b738f610e 100644 (file)
@@ -1123,6 +1123,9 @@ static int cros_typec_probe(struct platform_device *pdev)
        }
 
        ec_dev = dev_get_drvdata(&typec->ec->ec->dev);
+       if (!ec_dev)
+               return -EPROBE_DEFER;
+
        typec->typec_cmd_supported = !!cros_ec_check_features(ec_dev, EC_FEATURE_TYPEC_CMD);
        typec->needs_mux_ack = !!cros_ec_check_features(ec_dev,
                                                        EC_FEATURE_TYPEC_MUX_REQUIRE_AP_ACK);