diff options
author | Nithin Raju <nithin@vmware.com> | 2015-09-23 09:15:31 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2015-09-29 22:43:18 -0700 |
commit | 57d7a5f5ad434dd397a4a69e310a17203250a442 (patch) | |
tree | 76ee53a2ff0f371e97abe7589fc461d96b1c3dd6 /datapath-windows/ovsext | |
parent | 8fd3ded1cca6b1bec0ce54eeae294e3eeded2d8b (diff) | |
download | openvswitch-57d7a5f5ad434dd397a4a69e310a17203250a442.tar.gz |
datapath-windows: reset the IRP pointer after use in OvsQueuePackets
Signed-off-by: Nithin Raju <nithin@vmware.com>
Acked-by: Sairam Venugopal <vsairam@vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'datapath-windows/ovsext')
-rw-r--r-- | datapath-windows/ovsext/User.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/datapath-windows/ovsext/User.c b/datapath-windows/ovsext/User.c index 81a1a20c6..e7be9045c 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(); } |