On Wed, Jan 15, 2014 at 10:42:31PM +0800, Lan Tianyu wrote:diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index fbf1ace..e98fa83 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -770,7 +770,7 @@ static int acpi_battery_add(struct acpi_device *device)
device->driver_data = battery;
mutex_init(&battery->lock);
mutex_init(&battery->sysfs_lock);
- if (acpi_has_method(battery->device->handle, "_BIX"))
+ if (acpi_evaluate_object(device->handle, "_BIX", NULL, &buffer);)
set_bit(ACPI_BATTERY_XINFO_PRESENT, &battery->flags);
Doesn't acpi_evaluate_object() return 0 on success? I think:
if (ACPI_SUCESS(acpi_evaluate_object(device->handle, "_BIX", NULL,
&buffer))
But maybe we should check for existence first and give an FW_BUG message
to indicate an invalid _BIX?