summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2007-11-20 18:35:36 +0000
committerjkim <jkim@FreeBSD.org>2007-11-20 18:35:36 +0000
commite13e970d0427f032ae4e448beeb85d141fd94769 (patch)
treeb455bf3bf4f4ded329af2150b16acdd04bb5c1b2
parent6651bdd1061d97c80f3f926b4d551b176e42b8d5 (diff)
downloadFreeBSD-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.c7
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;
OpenPOWER on IntegriCloud