diff options
Diffstat (limited to 'drivers/platform')
-rw-r--r-- | drivers/platform/x86/compal-laptop.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/platform/x86/compal-laptop.c b/drivers/platform/x86/compal-laptop.c index eaa78edb1f4e..b978cd3556a4 100644 --- a/drivers/platform/x86/compal-laptop.c +++ b/drivers/platform/x86/compal-laptop.c @@ -1049,7 +1049,13 @@ static int compal_probe(struct platform_device *pdev) /* Power supply */ initialize_power_supply_data(data); - power_supply_register(&compal_device->dev, &data->psy); + err = power_supply_register(&compal_device->dev, &data->psy); + if (err < 0) { + hwmon_device_unregister(data->hwmon_dev); + sysfs_remove_group(&pdev->dev.kobj, &compal_attribute_group); + kfree(data); + return err; + } platform_set_drvdata(pdev, data); |