|
@@ -630,8 +630,11 @@ static int acpi_battery_update(struct acpi_battery *battery)
|
|
|
return result;
|
|
|
acpi_battery_init_alarm(battery);
|
|
|
}
|
|
|
- if (!battery->bat.dev)
|
|
|
- sysfs_add_battery(battery);
|
|
|
+ if (!battery->bat.dev) {
|
|
|
+ result = sysfs_add_battery(battery);
|
|
|
+ if (result)
|
|
|
+ return result;
|
|
|
+ }
|
|
|
result = acpi_battery_get_state(battery);
|
|
|
acpi_battery_quirks(battery);
|
|
|
return result;
|
|
@@ -982,7 +985,9 @@ static int acpi_battery_add(struct acpi_device *device)
|
|
|
if (ACPI_SUCCESS(acpi_get_handle(battery->device->handle,
|
|
|
"_BIX", &handle)))
|
|
|
set_bit(ACPI_BATTERY_XINFO_PRESENT, &battery->flags);
|
|
|
- acpi_battery_update(battery);
|
|
|
+ result = acpi_battery_update(battery);
|
|
|
+ if (result)
|
|
|
+ goto fail;
|
|
|
#ifdef CONFIG_ACPI_PROCFS_POWER
|
|
|
result = acpi_battery_add_fs(device);
|
|
|
#endif
|