From 9386deff2cdd757d48b079dffccac36aa0c3bd27 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 8 Apr 2009 04:01:13 +0000 Subject: [PATCH] - Pass the packet flags to the MiniportSend handler svn path=/trunk/; revision=40413 --- reactos/drivers/network/ndis/ndis/miniport.c | 6 ++++-- reactos/drivers/network/ndis/ndis/protocol.c | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/reactos/drivers/network/ndis/ndis/miniport.c b/reactos/drivers/network/ndis/ndis/miniport.c index 1df053152ba..794e5d45650 100644 --- a/reactos/drivers/network/ndis/ndis/miniport.c +++ b/reactos/drivers/network/ndis/ndis/miniport.c @@ -1000,7 +1000,8 @@ MiniportWorker(IN PDEVICE_OBJECT DeviceObject, IN PVOID Context) { NDIS_DbgPrint(MAX_TRACE, ("Calling miniport's Send handler\n")); NdisStatus = (*Adapter->NdisMiniportBlock.DriverHandle->MiniportCharacteristics.SendHandler)( - Adapter->NdisMiniportBlock.MiniportAdapterContext, (PNDIS_PACKET)WorkItemContext, 0); + Adapter->NdisMiniportBlock.MiniportAdapterContext, (PNDIS_PACKET)WorkItemContext, + ((PNDIS_PACKET)WorkItemContext)->Private.Flags); NDIS_DbgPrint(MAX_TRACE, ("back from miniport's send handler\n")); } else @@ -1009,7 +1010,8 @@ MiniportWorker(IN PDEVICE_OBJECT DeviceObject, IN PVOID Context) KeRaiseIrql(DISPATCH_LEVEL, &RaiseOldIrql); NDIS_DbgPrint(MAX_TRACE, ("Calling miniport's Send handler\n")); NdisStatus = (*Adapter->NdisMiniportBlock.DriverHandle->MiniportCharacteristics.SendHandler)( - Adapter->NdisMiniportBlock.MiniportAdapterContext, (PNDIS_PACKET)WorkItemContext, 0); + Adapter->NdisMiniportBlock.MiniportAdapterContext, (PNDIS_PACKET)WorkItemContext, + ((PNDIS_PACKET)WorkItemContext)->Private.Flags); NDIS_DbgPrint(MAX_TRACE, ("back from miniport's send handler\n")); KeLowerIrql(RaiseOldIrql); if( NdisStatus == NDIS_STATUS_RESOURCES ) { diff --git a/reactos/drivers/network/ndis/ndis/protocol.c b/reactos/drivers/network/ndis/ndis/protocol.c index ff1895aed93..532601b9965 100644 --- a/reactos/drivers/network/ndis/ndis/protocol.c +++ b/reactos/drivers/network/ndis/ndis/protocol.c @@ -225,14 +225,14 @@ proSendPacketToMiniport(PLOGICAL_ADAPTER Adapter, PNDIS_PACKET Packet) { NDIS_DbgPrint(MAX_TRACE, ("Calling miniport's Send handler\n")); NdisStatus = (*Adapter->NdisMiniportBlock.DriverHandle->MiniportCharacteristics.SendHandler)( - Adapter->NdisMiniportBlock.MiniportAdapterContext, Packet, 0); + Adapter->NdisMiniportBlock.MiniportAdapterContext, Packet, Packet->Private.Flags); NDIS_DbgPrint(MAX_TRACE, ("back from miniport's send handler\n")); } else { /* Send is called at DISPATCH_LEVEL for all serialized miniports */ KeRaiseIrql(DISPATCH_LEVEL, &RaiseOldIrql); NDIS_DbgPrint(MAX_TRACE, ("Calling miniport's Send handler\n")); NdisStatus = (*Adapter->NdisMiniportBlock.DriverHandle->MiniportCharacteristics.SendHandler)( - Adapter->NdisMiniportBlock.MiniportAdapterContext, Packet, 0); + Adapter->NdisMiniportBlock.MiniportAdapterContext, Packet, Packet->Private.Flags); NDIS_DbgPrint(MAX_TRACE, ("back from miniport's send handler\n")); KeLowerIrql(RaiseOldIrql); @@ -351,7 +351,7 @@ ProSendPackets( for (i = 0; i < NumberOfPackets; i++) { NdisStatus = (*Adapter->NdisMiniportBlock.DriverHandle->MiniportCharacteristics.SendHandler)( - Adapter->NdisMiniportBlock.MiniportAdapterContext, PacketArray[i], 0); + Adapter->NdisMiniportBlock.MiniportAdapterContext, PacketArray[i], PacketArray[i]->Private.Flags); if (NdisStatus != NDIS_STATUS_PENDING) MiniSendComplete(Adapter, PacketArray[i], NdisStatus); } @@ -363,7 +363,7 @@ ProSendPackets( for (i = 0; i < NumberOfPackets; i++) { NdisStatus = (*Adapter->NdisMiniportBlock.DriverHandle->MiniportCharacteristics.SendHandler)( - Adapter->NdisMiniportBlock.MiniportAdapterContext, PacketArray[i], 0); + Adapter->NdisMiniportBlock.MiniportAdapterContext, PacketArray[i], PacketArray[i]->Private.Flags); if (NdisStatus != NDIS_STATUS_PENDING) MiniSendComplete(Adapter, PacketArray[i], NdisStatus); }