> ----------
From: xxxxx@midcore.com[SMTP:xxxxx@midcore.com]
Reply To: xxxxx@lists.osr.com
Sent: Friday, February 22, 2002 10:08 PM
To: xxxxx@lists.osr.com
Subject: [ntdev] Re: MiniportReturnPacket() not getting called in NT
D eserialized miniport Driver
> The missing part is that in a deserialized driver,
> MiniportReturnPacket() can be called even before
> NdisMIndicateReceivePacket() returns! That is, the packet passed up
> might have been returned to the Miniport before it has a chance to
> inspect the ‘Status’ member of any packet. The packet’s memory might
> even have been freed already - boom!
You can set the packet’s status to NDIS_STATUS_RESOURCES before indicating
the packet to prevent this from occurring (this is documented in the XP
DDK).
Yes, but it in turn causes a call to ProtocolReceive handler instead of
ProtocolReceivePacket. It may not be desired and can cause performance
problems. Anyway, it can be a good compromise for NT4 if somebody wants to
follow docs for newer OSes and still make driver working there 
Best regards,
Michal Vodicka
STMicroelectronics Design and Application s.r.o.
[michal.vodicka@st.com, http:://www.st.com]
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
Setting NDIS_STATUS_RESOURCES *does* have an enormous impact on
performance. At least with Gigabit Ethernet…
Stephan
On Fri, 22 Feb 2002 22:29:34 +0100, Michal Vodicka
wrote:
>
>> ----------
>> From: xxxxx@midcore.com[SMTP:xxxxx@midcore.com]
>> Reply To: xxxxx@lists.osr.com
>> Sent: Friday, February 22, 2002 10:08 PM
>> To: xxxxx@lists.osr.com
>> Subject: [ntdev] Re: MiniportReturnPacket() not getting called in NT
>> D eserialized miniport Driver
>>
>> > The missing part is that in a deserialized driver,
>> > MiniportReturnPacket() can be called even before
>> > NdisMIndicateReceivePacket() returns! That is, the packet passed up
>> > might have been returned to the Miniport before it has a chance to
>> > inspect the ‘Status’ member of any packet. The packet’s memory might
>> > even have been freed already - boom!
>>
>> You can set the packet’s status to NDIS_STATUS_RESOURCES before indicating
>> the packet to prevent this from occurring (this is documented in the XP
>> DDK).
>>
>Yes, but it in turn causes a call to ProtocolReceive handler instead of
>ProtocolReceivePacket. It may not be desired and can cause performance
>problems. Anyway, it can be a good compromise for NT4 if somebody wants to
>follow docs for newer OSes and still make driver working there 
>
>Best regards,
>
>Michal Vodicka
>STMicroelectronics Design and Application s.r.o.
>[michal.vodicka@st.com, http:://www.st.com]
—
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com