diff options
author | jkim <jkim@FreeBSD.org> | 2007-11-20 18:35:36 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2007-11-20 18:35:36 +0000 |
commit | e13e970d0427f032ae4e448beeb85d141fd94769 (patch) | |
tree | b455bf3bf4f4ded329af2150b16acdd04bb5c1b2 | |
parent | 6651bdd1061d97c80f3f926b4d551b176e42b8d5 (diff) | |
download | FreeBSD-src-e13e970d0427f032ae4e448beeb85d141fd94769.zip FreeBSD-src-e13e970d0427f032ae4e448beeb85d141fd94769.tar.gz |
Check battery presence first before trying to get battery information.
PR: kern/117591
Tested by: Jessica Mahoney (root at varusonline dot com)
-rw-r--r-- | sys/dev/acpica/acpi_battery.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/acpica/acpi_battery.c b/sys/dev/acpica/acpi_battery.c index cfbae03..f289b2b 100644 --- a/sys/dev/acpica/acpi_battery.c +++ b/sys/dev/acpica/acpi_battery.c @@ -167,11 +167,12 @@ acpi_battery_get_battinfo(device_t dev, struct acpi_battinfo *battinfo) dev_idx = i; /* - * Be sure we can get various info from the battery. Note that we - * can't check acpi_BatteryIsPresent() because smart batteries only + * Be sure we can get various info from the battery. Note that + * acpi_BatteryIsPresent() is not enough because smart batteries only * return that the device is present. */ - if (ACPI_BATT_GET_STATUS(batt_dev, &bst[i]) != 0 || + if (!acpi_BatteryIsPresent(batt_dev) || + ACPI_BATT_GET_STATUS(batt_dev, &bst[i]) != 0 || ACPI_BATT_GET_INFO(batt_dev, bif) != 0) continue; |