Skip to content

Commit 81860b4

Browse files
committed
[CMBATT] Fix battery Tag
0 (ie BATTERY_TAG_INVALID) is not a valid battery tag. First battery must have a tag of 1.
1 parent 6aa11ac commit 81860b4

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

drivers/bus/acpi/cmbatt/cmbatt.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,6 @@ CmBattQueryTag(IN PCMBATT_DEVICE_EXTENSION DeviceExtension,
568568
{
569569
PDEVICE_OBJECT PdoDevice;
570570
ULONG StaData;
571-
ULONG NewTag;
572571
NTSTATUS Status;
573572
PAGED_CODE();
574573
if (CmBattDebug & (CMBATT_ACPI_WARNING | CMBATT_GENERIC_INFO))
@@ -587,12 +586,12 @@ CmBattQueryTag(IN PCMBATT_DEVICE_EXTENSION DeviceExtension,
587586
if (StaData & ACPI_STA_BATTERY_PRESENT)
588587
{
589588
/* Do we not have a tag yet? */
590-
if (!DeviceExtension->Tag)
589+
if (DeviceExtension->Tag == BATTERY_TAG_INVALID)
591590
{
592591
/* Set the new tag value, reset tags if we reached the maximum */
593-
NewTag = DeviceExtension->TagData;
594-
if (DeviceExtension->TagData++ == 0xFFFFFFFF) NewTag = 1;
595-
DeviceExtension->Tag = NewTag;
592+
if (++DeviceExtension->TagData == BATTERY_TAG_INVALID)
593+
DeviceExtension->TagData = 1;
594+
DeviceExtension->Tag = DeviceExtension->TagData;
596595
if (CmBattDebug & CMBATT_GENERIC_INFO)
597596
DbgPrint("CmBattQueryTag - New Tag: (%d)\n", DeviceExtension->Tag);
598597

@@ -608,7 +607,7 @@ CmBattQueryTag(IN PCMBATT_DEVICE_EXTENSION DeviceExtension,
608607
else
609608
{
610609
/* No battery, so no tag */
611-
DeviceExtension->Tag = 0;
610+
DeviceExtension->Tag = BATTERY_TAG_INVALID;
612611
Status = STATUS_NO_SUCH_DEVICE;
613612
}
614613
}

0 commit comments

Comments
 (0)