mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 15:23:03 +00:00
- Don't attempt to store packets and buffers in the same place
svn path=/trunk/; revision=40643
This commit is contained in:
parent
6964f7b809
commit
c218692561
3 changed files with 11 additions and 11 deletions
|
@ -420,7 +420,7 @@ NdisAllocatePacket(
|
||||||
|
|
||||||
if (Pool->FreeList) {
|
if (Pool->FreeList) {
|
||||||
Temp = Pool->FreeList;
|
Temp = Pool->FreeList;
|
||||||
Pool->FreeList = (PNDIS_PACKET)Temp->Private.Head;
|
Pool->FreeList = (PNDIS_PACKET)Temp->Reserved[0];
|
||||||
|
|
||||||
KeReleaseSpinLock(&Pool->SpinLock.SpinLock, OldIrql);
|
KeReleaseSpinLock(&Pool->SpinLock.SpinLock, OldIrql);
|
||||||
|
|
||||||
|
@ -521,11 +521,11 @@ NdisAllocatePacketPoolEx(
|
||||||
NextPacket = (PNDIS_PACKET)((ULONG_PTR)Packet + Length);
|
NextPacket = (PNDIS_PACKET)((ULONG_PTR)Packet + Length);
|
||||||
for (i = 1; i < NumberOfDescriptors; i++)
|
for (i = 1; i < NumberOfDescriptors; i++)
|
||||||
{
|
{
|
||||||
Packet->Private.Head = (PNDIS_BUFFER)NextPacket;
|
Packet->Reserved[0] = (ULONG_PTR)NextPacket;
|
||||||
Packet = NextPacket;
|
Packet = NextPacket;
|
||||||
NextPacket = (PNDIS_PACKET)((ULONG_PTR)Packet + Length);
|
NextPacket = (PNDIS_PACKET)((ULONG_PTR)Packet + Length);
|
||||||
}
|
}
|
||||||
Packet->Private.Head = NULL;
|
Packet->Reserved[0] = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Pool->FreeList = NULL;
|
Pool->FreeList = NULL;
|
||||||
|
@ -701,7 +701,7 @@ NdisDprAllocatePacket(
|
||||||
|
|
||||||
if (Pool->FreeList) {
|
if (Pool->FreeList) {
|
||||||
Temp = Pool->FreeList;
|
Temp = Pool->FreeList;
|
||||||
Pool->FreeList = (PNDIS_PACKET)Temp->Private.Head;
|
Pool->FreeList = (PNDIS_PACKET)Temp->Reserved[0];
|
||||||
|
|
||||||
KeReleaseSpinLockFromDpcLevel(&Pool->SpinLock.SpinLock);
|
KeReleaseSpinLockFromDpcLevel(&Pool->SpinLock.SpinLock);
|
||||||
|
|
||||||
|
@ -750,7 +750,7 @@ NdisDprAllocatePacketNonInterlocked(
|
||||||
|
|
||||||
if (Pool->FreeList) {
|
if (Pool->FreeList) {
|
||||||
Temp = Pool->FreeList;
|
Temp = Pool->FreeList;
|
||||||
Pool->FreeList = (PNDIS_PACKET)Temp->Private.Head;
|
Pool->FreeList = (PNDIS_PACKET)Temp->Reserved[0];
|
||||||
|
|
||||||
RtlZeroMemory(&Temp->Private, sizeof(NDIS_PACKET_PRIVATE));
|
RtlZeroMemory(&Temp->Private, sizeof(NDIS_PACKET_PRIVATE));
|
||||||
Temp->Private.Pool = Pool;
|
Temp->Private.Pool = Pool;
|
||||||
|
@ -779,7 +779,7 @@ NdisDprFreePacket(
|
||||||
NDIS_DbgPrint(MAX_TRACE, ("Packet (0x%X).\n", Packet));
|
NDIS_DbgPrint(MAX_TRACE, ("Packet (0x%X).\n", Packet));
|
||||||
|
|
||||||
KeAcquireSpinLockAtDpcLevel(&((NDISI_PACKET_POOL*)Packet->Private.Pool)->SpinLock.SpinLock);
|
KeAcquireSpinLockAtDpcLevel(&((NDISI_PACKET_POOL*)Packet->Private.Pool)->SpinLock.SpinLock);
|
||||||
Packet->Private.Head = (PNDIS_BUFFER)((NDISI_PACKET_POOL*)Packet->Private.Pool)->FreeList;
|
Packet->Reserved[0] = (ULONG_PTR)((NDISI_PACKET_POOL*)Packet->Private.Pool)->FreeList;
|
||||||
((NDISI_PACKET_POOL*)Packet->Private.Pool)->FreeList = Packet;
|
((NDISI_PACKET_POOL*)Packet->Private.Pool)->FreeList = Packet;
|
||||||
KeReleaseSpinLockFromDpcLevel(&((NDISI_PACKET_POOL*)Packet->Private.Pool)->SpinLock.SpinLock);
|
KeReleaseSpinLockFromDpcLevel(&((NDISI_PACKET_POOL*)Packet->Private.Pool)->SpinLock.SpinLock);
|
||||||
}
|
}
|
||||||
|
@ -800,7 +800,7 @@ NdisDprFreePacketNonInterlocked(
|
||||||
{
|
{
|
||||||
NDIS_DbgPrint(MAX_TRACE, ("Packet (0x%X).\n", Packet));
|
NDIS_DbgPrint(MAX_TRACE, ("Packet (0x%X).\n", Packet));
|
||||||
|
|
||||||
Packet->Private.Head = (PNDIS_BUFFER)((NDISI_PACKET_POOL*)Packet->Private.Pool)->FreeList;
|
Packet->Reserved[0] = (ULONG_PTR)((NDISI_PACKET_POOL*)Packet->Private.Pool)->FreeList;
|
||||||
((NDISI_PACKET_POOL*)Packet->Private.Pool)->FreeList = Packet;
|
((NDISI_PACKET_POOL*)Packet->Private.Pool)->FreeList = Packet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -874,7 +874,7 @@ NdisFreePacket(
|
||||||
NDIS_DbgPrint(MAX_TRACE, ("Packet (0x%X).\n", Packet));
|
NDIS_DbgPrint(MAX_TRACE, ("Packet (0x%X).\n", Packet));
|
||||||
|
|
||||||
KeAcquireSpinLock(&((NDISI_PACKET_POOL*)Packet->Private.Pool)->SpinLock.SpinLock, &OldIrql);
|
KeAcquireSpinLock(&((NDISI_PACKET_POOL*)Packet->Private.Pool)->SpinLock.SpinLock, &OldIrql);
|
||||||
Packet->Private.Head = (PNDIS_BUFFER)((NDISI_PACKET_POOL*)Packet->Private.Pool)->FreeList;
|
Packet->Reserved[0] = (ULONG_PTR)((NDISI_PACKET_POOL*)Packet->Private.Pool)->FreeList;
|
||||||
((NDISI_PACKET_POOL*)Packet->Private.Pool)->FreeList = Packet;
|
((NDISI_PACKET_POOL*)Packet->Private.Pool)->FreeList = Packet;
|
||||||
KeReleaseSpinLock(&((NDISI_PACKET_POOL*)Packet->Private.Pool)->SpinLock.SpinLock, OldIrql);
|
KeReleaseSpinLock(&((NDISI_PACKET_POOL*)Packet->Private.Pool)->SpinLock.SpinLock, OldIrql);
|
||||||
}
|
}
|
||||||
|
|
|
@ -457,7 +457,7 @@ MiniSendComplete(
|
||||||
|
|
||||||
NDIS_DbgPrint(DEBUG_MINIPORT, ("Called.\n"));
|
NDIS_DbgPrint(DEBUG_MINIPORT, ("Called.\n"));
|
||||||
|
|
||||||
AdapterBinding = (PADAPTER_BINDING)Packet->Reserved[0];
|
AdapterBinding = (PADAPTER_BINDING)Packet->Reserved[1];
|
||||||
|
|
||||||
KeRaiseIrql(DISPATCH_LEVEL, &OldIrql);
|
KeRaiseIrql(DISPATCH_LEVEL, &OldIrql);
|
||||||
(*AdapterBinding->ProtocolBinding->Chars.SendCompleteHandler)(
|
(*AdapterBinding->ProtocolBinding->Chars.SendCompleteHandler)(
|
||||||
|
@ -490,7 +490,7 @@ MiniTransferDataComplete(
|
||||||
|
|
||||||
NDIS_DbgPrint(DEBUG_MINIPORT, ("Called.\n"));
|
NDIS_DbgPrint(DEBUG_MINIPORT, ("Called.\n"));
|
||||||
|
|
||||||
AdapterBinding = (PADAPTER_BINDING)Packet->Reserved[0];
|
AdapterBinding = (PADAPTER_BINDING)Packet->Reserved[1];
|
||||||
|
|
||||||
KeRaiseIrql(DISPATCH_LEVEL, &OldIrql);
|
KeRaiseIrql(DISPATCH_LEVEL, &OldIrql);
|
||||||
(*AdapterBinding->ProtocolBinding->Chars.TransferDataCompleteHandler)(
|
(*AdapterBinding->ProtocolBinding->Chars.TransferDataCompleteHandler)(
|
||||||
|
|
|
@ -279,7 +279,7 @@ ProSend(
|
||||||
ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
|
ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
|
||||||
|
|
||||||
/* XXX what is this crazy black magic? */
|
/* XXX what is this crazy black magic? */
|
||||||
Packet->Reserved[0] = (ULONG_PTR)MacBindingHandle;
|
Packet->Reserved[1] = (ULONG_PTR)MacBindingHandle;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test the packet to see if it is a MAC loopback.
|
* Test the packet to see if it is a MAC loopback.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue