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

Reply via email to