https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c944116833d2981b489ca4304aa605482b966107

commit c944116833d2981b489ca4304aa605482b966107
Author:     George Bișoc <george.bi...@reactos.org>
AuthorDate: Sat Dec 14 22:33:02 2024 +0100
Commit:     George Bișoc <george.bi...@reactos.org>
CommitDate: Wed Jan 8 23:20:07 2025 +0100

    [COMPBATT] Use the allocated battery IRPs as tags when acquiring I/O remove 
lock
---
 drivers/bus/acpi/compbatt/compbatt.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/bus/acpi/compbatt/compbatt.c 
b/drivers/bus/acpi/compbatt/compbatt.c
index 6100edf8aff..76e339e1ee6 100644
--- a/drivers/bus/acpi/compbatt/compbatt.c
+++ b/drivers/bus/acpi/compbatt/compbatt.c
@@ -261,7 +261,7 @@ CompBattGetBatteryInformation(
     {
         /* Try to acquire the remove lock */
         BatteryData = CONTAINING_RECORD(NextEntry, COMPBATT_BATTERY_DATA, 
BatteryLink);
-        if (NT_SUCCESS(IoAcquireRemoveLock(&BatteryData->RemoveLock, 0)))
+        if (NT_SUCCESS(IoAcquireRemoveLock(&BatteryData->RemoveLock, 
BatteryData->Irp)))
         {
             /* Now release the device lock since the battery can't go away */
             ExReleaseFastMutex(&DeviceExtension->Lock);
@@ -292,7 +292,7 @@ CompBattGetBatteryInformation(
                         /* Fail if the query had a problem */
                         if (Status == STATUS_DEVICE_REMOVED) Status = 
STATUS_NO_SUCH_DEVICE;
                         ExAcquireFastMutex(&DeviceExtension->Lock);
-                        IoReleaseRemoveLock(&BatteryData->RemoveLock, 0);
+                        IoReleaseRemoveLock(&BatteryData->RemoveLock, 
BatteryData->Irp);
                         break;
                     }
 
@@ -346,7 +346,7 @@ CompBattGetBatteryInformation(
 
             /* Re-acquire the device extension lock and release the remove 
lock */
             ExAcquireFastMutex(&DeviceExtension->Lock);
-            IoReleaseRemoveLock(&BatteryData->RemoveLock, 0);
+            IoReleaseRemoveLock(&BatteryData->RemoveLock, BatteryData->Irp);
         }
 
         /* Next entry */
@@ -421,7 +421,7 @@ CompBattGetBatteryGranularity(
     {
         /* Try to acquire the remove lock */
         BatteryData = CONTAINING_RECORD(NextEntry, COMPBATT_BATTERY_DATA, 
BatteryLink);
-        if (NT_SUCCESS(IoAcquireRemoveLock(&BatteryData->RemoveLock, 0)))
+        if (NT_SUCCESS(IoAcquireRemoveLock(&BatteryData->RemoveLock, 
BatteryData->Irp)))
         {
             /* Now release the device lock since the battery can't go away */
             ExReleaseFastMutex(&DeviceExtension->Lock);
@@ -447,7 +447,7 @@ CompBattGetBatteryGranularity(
                 {
                     /* Fail if the query had a problem */
                     ExAcquireFastMutex(&DeviceExtension->Lock);
-                    IoReleaseRemoveLock(&BatteryData->RemoveLock, 0);
+                    IoReleaseRemoveLock(&BatteryData->RemoveLock, 
BatteryData->Irp);
                     break;
                 }
 
@@ -467,7 +467,7 @@ CompBattGetBatteryGranularity(
 
             /* Re-acquire the device extension lock and release the remove 
lock */
             ExAcquireFastMutex(&DeviceExtension->Lock);
-            IoReleaseRemoveLock(&BatteryData->RemoveLock, 0);
+            IoReleaseRemoveLock(&BatteryData->RemoveLock, BatteryData->Irp);
         }
 
         /* Next entry */

Reply via email to