Cameron Gutman
08288ba535
- Revert r36337 because the callers don't depend on the memory being zeroed
...
svn path=/branches/aicom-network-fixes/; revision=36358
2008-09-20 21:29:31 +00:00
Cameron Gutman
b7872654ed
- The handle passed to MiniRequestComplete, NdisMQueryInformationComplete, and NdisMSetInformationComplete is the Adapter not the MiniportBlock
...
- Set MiniportBusy to FALSE in all the completion routines
- Set MiniportBusy to TRUE in MiniQueueWorkItem
- Only requeue the packet if it's a serialized miniport that returned NDIS_STATUS_RESOURCES
- Hold the spin lock when requeuing the packet
svn path=/branches/aicom-network-fixes/; revision=36356
2008-09-20 17:10:30 +00:00
Cameron Gutman
5faf248d96
- Zero the memory after we allocate it
...
svn path=/branches/aicom-network-fixes/; revision=36337
2008-09-20 00:31:02 +00:00
Cameron Gutman
d8dfacc28d
- Queue the packet again if we currently don't have enough resources to process it
...
svn path=/branches/aicom-network-fixes/; revision=36336
2008-09-19 23:51:26 +00:00
Cameron Gutman
5620a8ecff
- Initialize the callback record before calling KeRegisterBugCheckCallback so NdisMRegisterAdapterShutdownHandler should work now
...
svn path=/branches/aicom-network-fixes/; revision=36335
2008-09-19 23:41:28 +00:00
Cameron Gutman
face815dd6
- Code cleanup
...
- Set Status to NDIS_STATUS_NOT_SUPPORTED if we don't support the parameter type
svn path=/branches/aicom-network-fixes/; revision=36334
2008-09-19 23:18:12 +00:00
Cameron Gutman
f0e952b4b6
- Store the current thread
...
svn path=/branches/aicom-network-fixes/; revision=36333
2008-09-19 23:16:29 +00:00
Cameron Gutman
0b7d92c4b3
- Fail if TCPSocket doesn't complete successfully
...
svn path=/branches/aicom-network-fixes/; revision=36311
2008-09-19 04:38:25 +00:00
Cameron Gutman
249fa88dd2
- Add the adapter to the adapter list only after it is bound to the IP layer
...
svn path=/branches/aicom-network-fixes/; revision=36310
2008-09-19 04:18:59 +00:00
Cameron Gutman
340fdfa3ff
- Add the spin locks back that I removed
...
svn path=/branches/aicom-network-fixes/; revision=36256
2008-09-15 12:54:53 +00:00
Cameron Gutman
cfcc5a1f53
- Queue a work item for all packets
...
- Now I can add the spin locks back that I removed
svn path=/branches/aicom-network-fixes/; revision=36255
2008-09-15 12:44:16 +00:00
Cameron Gutman
72d8191116
- Use NDIS_GET_PACKET_STATUS to get the real status for the packet
...
- Set MiniportBusy to FALSE if Send/SendPacket didn't return NDIS_STATUS_PENDING
svn path=/branches/aicom-network-fixes/; revision=36250
2008-09-14 21:17:44 +00:00
Cameron Gutman
20165883fc
- Merge r35555, r35575, r35576, and r36243 into my branch
...
svn path=/branches/aicom-network-fixes/; revision=36248
2008-09-14 20:01:36 +00:00
Cameron Gutman
3c6651a64e
- Call a serialized miniport's Send/SendPackets handler at DISPATCH_LEVEL
...
svn path=/branches/aicom-network-fixes/; revision=36212
2008-09-14 05:30:06 +00:00
Cameron Gutman
91ac8bce6e
- Change our method of queuing work items so we don't leak anymore
...
svn path=/branches/aicom-network-fixes/; revision=36211
2008-09-14 05:16:32 +00:00
Cameron Gutman
ac40a36ce9
- Queue a work item to do our work that was previously done in MiniportDpc so SendHandler gets called at the correct IRQL
...
svn path=/branches/aicom-network-fixes/; revision=36206
2008-09-14 04:02:04 +00:00
Cameron Gutman
86ca4446aa
- Call KeAcquireSpinLockAtDpcLevel instead of KeAcquireSpinLock when possible
...
- Don't hold the spin lock as long in MiniportDpc
svn path=/branches/aicom-network-fixes/; revision=36198
2008-09-13 19:00:32 +00:00
Cameron Gutman
bd9013b5ae
- Read the maximum packets that the driver allows to be sent at one time
...
- We don't use it yet
svn path=/branches/aicom-network-fixes/; revision=36195
2008-09-13 18:33:16 +00:00
Cameron Gutman
e1800f7c53
- unimplemented -> implemented
...
svn path=/branches/aicom-network-fixes/; revision=36193
2008-09-13 17:07:30 +00:00
Cameron Gutman
70f9713881
- Implement NdisDprFreePacket
...
- Implement NdisDprFreePacketNonInterlocked
svn path=/branches/aicom-network-fixes/; revision=36192
2008-09-13 16:40:45 +00:00
Cameron Gutman
8bea43b223
- Implement NdisDprAllocatePacketNonInterlocked
...
svn path=/branches/aicom-network-fixes/; revision=36191
2008-09-13 16:36:43 +00:00
Cameron Gutman
08c2fa4ccb
- Implement NdisDprAllocatePacket
...
svn path=/branches/aicom-network-fixes/; revision=36190
2008-09-13 16:33:23 +00:00
Cameron Gutman
c875c6ffac
- Hints from MSDN show that we should use MmGetSystemAddressForMdl instead of MmGetMdlVirtualAddress
...
svn path=/branches/aicom-network-fixes/; revision=36186
2008-09-13 12:45:26 +00:00
Cameron Gutman
e96b8c3c83
- Fix a possible crash
...
svn path=/branches/aicom-network-fixes/; revision=36185
2008-09-13 12:22:45 +00:00
Cameron Gutman
cba47cf99e
- Call MiniportTransferData at DISPATCH_LEVEL
...
svn path=/branches/aicom-network-fixes/; revision=36169
2008-09-12 17:59:45 +00:00
Cameron Gutman
526d298a08
- Revert r36141 and r36102
...
- They cause a strange mIRC crash
svn path=/branches/aicom-network-fixes/; revision=36151
2008-09-12 03:53:09 +00:00
Cameron Gutman
d4fe4b7aa4
- We must call MiniDequeueWorkItem while holding a spin lock
...
svn path=/branches/aicom-network-fixes/; revision=36150
2008-09-12 03:06:31 +00:00
Cameron Gutman
b26b70ddba
- Call ProtocolRequestComplete at the correct IRQL
...
- Call ProtocolSendComplete at the correct IRQL
svn path=/branches/aicom-network-fixes/; revision=36149
2008-09-12 02:58:08 +00:00
Cameron Gutman
151277c30a
- Set Status to STATUS_SUCCESS
...
svn path=/branches/aicom-network-fixes/; revision=36148
2008-09-12 02:43:05 +00:00
Cameron Gutman
dc4e15ac9b
- Call MiniportQueryInformation at the correct IRQL
...
- Call MiniportSetInformation at the correct IRQL
- Call QueryInformationComplete at the correct IRQL
- Call SetInformationComplete at the correct IRQL
- All IRQLs verified by MSDN
svn path=/branches/aicom-network-fixes/; revision=36147
2008-09-11 20:57:51 +00:00
Cameron Gutman
f56eb2a402
- Make sure we successfully allocated memory
...
svn path=/branches/aicom-network-fixes/; revision=36144
2008-09-11 19:43:19 +00:00
Cameron Gutman
03e6d425e5
- Fix 2 typos
...
svn path=/branches/aicom-network-fixes/; revision=36143
2008-09-11 19:15:35 +00:00
Cameron Gutman
8e9ec3d648
- Nicer solution for the problem fixed in r36102
...
svn path=/branches/aicom-network-fixes/; revision=36141
2008-09-11 18:17:11 +00:00
Cameron Gutman
4b72cb5e0f
- We must call MiniQueueWorkItem while holding a spin lock
...
svn path=/branches/aicom-network-fixes/; revision=36134
2008-09-11 09:37:54 +00:00
Cameron Gutman
acb347a4eb
- Fix 3 handle leaks
...
- Fix 2 memory leaks
svn path=/branches/aicom-network-fixes/; revision=36115
2008-09-10 09:34:28 +00:00
Cameron Gutman
48c47e07e6
- Return the correct status
...
svn path=/branches/aicom-network-fixes/; revision=36107
2008-09-10 07:43:05 +00:00
Cameron Gutman
8cf22aef05
- Don't call IoCompleteRequest while holding a spin lock because it can cause deadlocks
...
svn path=/branches/aicom-network-fixes/; revision=36102
2008-09-10 04:59:12 +00:00
Cameron Gutman
e39210e30a
- Remove the spin locks around NdisSend because it causes a crash in kvmnet
...
svn path=/branches/aicom-network-fixes/; revision=36101
2008-09-10 03:54:46 +00:00
Cameron Gutman
55a1919cbf
- Set ContextSize when we allocate it
...
- Remove the context size check so we always create a new one now
- Now we succeed regardless of the current context size
svn path=/branches/aicom-network-fixes/; revision=36100
2008-09-10 02:52:22 +00:00
Cameron Gutman
16fabd560b
- Fix a memory leak
...
svn path=/branches/aicom-network-fixes/; revision=36094
2008-09-09 19:47:12 +00:00
Cameron Gutman
8b9d9a57c7
- Release the spin lock before returning
...
svn path=/branches/aicom-network-fixes/; revision=36075
2008-09-09 00:58:44 +00:00
Cameron Gutman
dc08835ad7
- Remove the adapter from the global adapter list if we fail
...
svn path=/branches/aicom-network-fixes/; revision=36074
2008-09-09 00:17:02 +00:00
Cameron Gutman
128aeae543
- Make sure we set a failure status when we fail so we don't complete with NDIS_STATUS_SUCCESS when we really failed
...
svn path=/branches/aicom-network-fixes/; revision=36071
2008-09-08 23:42:14 +00:00
Cameron Gutman
8ea40ee79e
- Return the actual status not NDIS_STATUS_SUCCESS always
...
svn path=/branches/aicom-network-fixes/; revision=36070
2008-09-08 23:27:52 +00:00
Cameron Gutman
23787cbeb2
- Make sure we successfully allocated memory
...
svn path=/branches/aicom-network-fixes/; revision=36042
2008-09-07 19:38:21 +00:00
Cameron Gutman
f410547dd1
- Return NDIS_STATUS_RESOURCES not NDIS_STATUS_NOT_ACCEPTED when we fail to allocate memory
...
svn path=/branches/aicom-network-fixes/; revision=36009
2008-09-06 21:45:23 +00:00
Cameron Gutman
38a8193915
- Forgot this file from r36006
...
svn path=/branches/aicom-network-fixes/; revision=36008
2008-09-06 21:42:58 +00:00
Cameron Gutman
0658669a1e
- Check status from RawIPStartup, UDPStartup, and TCPStartup
...
svn path=/branches/aicom-network-fixes/; revision=36007
2008-09-06 21:36:55 +00:00
Cameron Gutman
4c942b62d6
- Fix a code typo
...
svn path=/branches/aicom-network-fixes/; revision=36004
2008-09-06 20:52:54 +00:00
Cameron Gutman
36b4bed9c8
- Use NewBuf instead of Data so we actually use the buffer we allocate
...
svn path=/branches/aicom-network-fixes/; revision=36003
2008-09-06 20:42:10 +00:00