[ovs-dev] [PATCH 2/4] datapath-windows: reset the IRP pointer after use in OvsQueuePackets
Nithin Raju
nithin at vmware.com
Tue Sep 15 18:52:27 UTC 2015
Signed-off-by: Nithin Raju <nithin at vmware.com>
---
datapath-windows/ovsext/User.c | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/datapath-windows/ovsext/User.c b/datapath-windows/ovsext/User.c
index 0bbf690..d6139b8 100644
--- a/datapath-windows/ovsext/User.c
+++ b/datapath-windows/ovsext/User.c
@@ -698,7 +698,6 @@ OvsQueuePackets(PLIST_ENTRY packetList,
{
POVS_USER_PACKET_QUEUE upcallQueue = NULL;
POVS_PACKET_QUEUE_ELEM elem;
- PIRP irp = NULL;
PLIST_ENTRY link;
UINT32 num = 0;
LIST_ENTRY dropPackets;
@@ -728,23 +727,17 @@ OvsQueuePackets(PLIST_ENTRY packetList,
InsertTailList(&upcallQueue->packetList, &elem->link);
upcallQueue->numPackets++;
if (upcallQueue->pendingIrp) {
+ PIRP irp = upcallQueue->pendingIrp;
PDRIVER_CANCEL cancelRoutine;
- irp = upcallQueue->pendingIrp;
upcallQueue->pendingIrp = NULL;
cancelRoutine = IoSetCancelRoutine(irp, NULL);
- if (cancelRoutine == NULL) {
- irp = NULL;
+ if (cancelRoutine != NULL) {
+ OvsCompleteIrpRequest(irp, 0, STATUS_SUCCESS);
}
}
}
-
- if (irp) {
- OvsCompleteIrpRequest(irp, 0, STATUS_SUCCESS);
- }
-
NdisReleaseSpinLock(&upcallQueue->queueLock);
}
-
OvsReleasePidHashLock();
}
--
1.8.5.6
More information about the dev
mailing list