The lightbar driver never assigned the drvdata in probe method, and thus causes a panic when it is accessed at the suspend time.
Signed-off-by: Rajat Jain <raja...@google.com> --- drivers/platform/chrome/cros_ec_lightbar.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/platform/chrome/cros_ec_lightbar.c b/drivers/platform/chrome/cros_ec_lightbar.c index d30a6650b0b5..98e514fc5830 100644 --- a/drivers/platform/chrome/cros_ec_lightbar.c +++ b/drivers/platform/chrome/cros_ec_lightbar.c @@ -578,11 +578,14 @@ static int cros_ec_lightbar_probe(struct platform_device *pd) ret = sysfs_create_group(&ec_dev->class_dev.kobj, &cros_ec_lightbar_attr_group); - if (ret < 0) + if (ret < 0) { dev_err(dev, "failed to create %s attributes. err=%d\n", cros_ec_lightbar_attr_group.name, ret); + return ret; + } - return ret; + platform_set_drvdata(pd, ec_dev); + return 0; } static int cros_ec_lightbar_remove(struct platform_device *pd) -- 2.22.0.410.gd8fdbe21b5-goog