[PATCH] platform/chrome: cros_ec_typec: Handle NULL EC pointer during probe.

From: Daniil Lunev
Date: Mon Apr 27 2020 - 21:03:05 EST


Missing EC in device hierarchy causes NULL pointer to be returned to the
probe function which leads to NULL pointer dereference when trying to
send a command to the EC. This can be the case if the device is missing
or incorrectly configured in the firmware blob. Even if the situation
occures, the driver shall not cause a kernel panic as the condition is
not critical for the system functions.

Signed-off-by: Daniil Lunev <dlunev@xxxxxxxxxxxx>
---

drivers/platform/chrome/cros_ec_typec.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
index 874269c07073..30d99c930445 100644
--- a/drivers/platform/chrome/cros_ec_typec.c
+++ b/drivers/platform/chrome/cros_ec_typec.c
@@ -301,6 +301,11 @@ static int cros_typec_probe(struct platform_device *pdev)

typec->dev = dev;
typec->ec = dev_get_drvdata(pdev->dev.parent);
+ if (!typec->ec) {
+ dev_err(dev, "Failed to get Cros EC data\n");
+ return -EINVAL;
+ }
+
platform_set_drvdata(pdev, typec);

ret = cros_typec_get_cmd_version(typec);
--
2.24.1