https://git.reactos.org/?p=reactos.git;a=commitdiff;h=56cc2ca11592fd2846c1d…
commit 56cc2ca11592fd2846c1daa6ca7414aa7bc71f8a
Author: Amine Khaldi <amine.khaldi(a)reactos.org>
AuthorDate: Tue Oct 31 15:44:39 2017 +0100
[SERIAL] Fix Serial{Get,Clear}PerfStats() to become proper PKSYNCHRONIZE_ROUTINE
routines and get rid of the related casts. Brought to you by Thomas Faber. CORE-11799
(#94)
---
drivers/serial/serial/devctrl.c | 57 +++++++++++++++++++++--------------------
1 file changed, 29 insertions(+), 28 deletions(-)
diff --git a/drivers/serial/serial/devctrl.c b/drivers/serial/serial/devctrl.c
index 189f97eba2..74b81395c3 100644
--- a/drivers/serial/serial/devctrl.c
+++ b/drivers/serial/serial/devctrl.c
@@ -158,36 +158,37 @@ SerialSetLineControl(
return Status;
}
-static BOOLEAN
-SerialClearPerfStats(
- IN PSERIAL_DEVICE_EXTENSION DeviceExtension)
+static
+BOOLEAN
+NTAPI
+SerialClearPerfStats(IN PVOID SynchronizeContext)
{
- ASSERT(DeviceExtension);
-
- RtlZeroMemory(&DeviceExtension->SerialPerfStats, sizeof(SERIALPERF_STATS));
- DeviceExtension->BreakInterruptErrorCount = 0;
- return TRUE;
+ PSERIAL_DEVICE_EXTENSION DeviceExtension = SynchronizeContext;
+ ASSERT(DeviceExtension);
+ RtlZeroMemory(&DeviceExtension->SerialPerfStats, sizeof(SERIALPERF_STATS));
+ DeviceExtension->BreakInterruptErrorCount = 0;
+ return TRUE;
}
-static BOOLEAN
-SerialGetPerfStats(IN PIRP pIrp)
+static
+BOOLEAN
+NTAPI
+SerialGetPerfStats(IN PVOID SynchronizeContext)
{
- PSERIAL_DEVICE_EXTENSION pDeviceExtension;
-
- ASSERT(pIrp);
- pDeviceExtension = (PSERIAL_DEVICE_EXTENSION)
- IoGetCurrentIrpStackLocation(pIrp)->DeviceObject->DeviceExtension;
-
- /*
- * we assume buffer is big enough to hold SerialPerfStats structure
- * caller must verify this
- */
- RtlCopyMemory(
- pIrp->AssociatedIrp.SystemBuffer,
- &pDeviceExtension->SerialPerfStats,
- sizeof(SERIALPERF_STATS)
- );
- return TRUE;
+ PIRP pIrp = SynchronizeContext;
+ PSERIAL_DEVICE_EXTENSION pDeviceExtension;
+
+ ASSERT(pIrp);
+ pDeviceExtension =
IoGetCurrentIrpStackLocation(pIrp)->DeviceObject->DeviceExtension;
+
+ /*
+ * we assume buffer is big enough to hold SerialPerfStats structure
+ * caller must verify this
+ */
+ RtlCopyMemory(pIrp->AssociatedIrp.SystemBuffer,
+ &pDeviceExtension->SerialPerfStats,
+ sizeof(SERIALPERF_STATS));
+ return TRUE;
}
static NTSTATUS
@@ -309,7 +310,7 @@ SerialDeviceControl(
TRACE_(SERIAL, "IOCTL_SERIAL_CLEAR_STATS\n");
KeSynchronizeExecution(
DeviceExtension->Interrupt,
- (PKSYNCHRONIZE_ROUTINE)SerialClearPerfStats,
+ SerialClearPerfStats,
DeviceExtension);
Status = STATUS_SUCCESS;
break;
@@ -519,7 +520,7 @@ SerialDeviceControl(
else
{
KeSynchronizeExecution(DeviceExtension->Interrupt,
- (PKSYNCHRONIZE_ROUTINE)SerialGetPerfStats, Irp);
+ SerialGetPerfStats, Irp);
Information = sizeof(SERIALPERF_STATS);
Status = STATUS_SUCCESS;
}