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
Cameron Gutman
b732baa632
- Return NDIS_STATUS_RESOURCES not STATUS_NO_MEMORY
...
svn path=/branches/aicom-network-fixes/; revision=36002
2008-09-06 20:37:06 +00:00
Cameron Gutman
0d461c29a8
- Return TDI_NO_RESOURCES instead of TDI_INVALID_REQUEST when we can't allocate memory
...
svn path=/branches/aicom-network-fixes/; revision=36001
2008-09-06 20:27:56 +00:00
Cameron Gutman
6132fa321c
- Code cleanup
...
svn path=/branches/aicom-network-fixes/; revision=36000
2008-09-06 20:18:42 +00:00
Cameron Gutman
85672737e6
- Handle AllocatedResources and AllocatedResourcesTranslated separately
...
- Fix a memory leak
- Fix a handle leak
svn path=/branches/aicom-network-fixes/; revision=35964
2008-09-05 19:51:18 +00:00
Cameron Gutman
16427a1482
- Fix cleanup code
...
- We could possibly end up there with a NULL FileHandleObject and return a garbage FileHandle or crash
- Now we always return a NULL FileHandle when we fail and free FileHandleObject if it has been allocated
svn path=/branches/aicom-network-fixes/; revision=35946
2008-09-04 19:08:08 +00:00
Cameron Gutman
4ff5fc5caa
- Fix 2 memory leaks
...
- Set ParameterValue to NULL on failure
svn path=/branches/aicom-network-fixes/; revision=35944
2008-09-04 18:42:49 +00:00
Cameron Gutman
14d8dfbd90
- Accept STATUS_SUCCESS also as done in config.c
...
svn path=/branches/aicom-network-fixes/; revision=35919
2008-09-03 23:37:09 +00:00
Cameron Gutman
26b1ba0f02
- Initially set NdisProtocolHandle to NULL
...
svn path=/branches/aicom-network-fixes/; revision=35889
2008-09-02 18:38:42 +00:00
Cameron Gutman
87315e4ac4
- STATUS_SUCCESS -> NDIS_STATUS_SUCCESS
...
svn path=/branches/aicom-network-fixes/; revision=35868
2008-09-01 22:59:04 +00:00
Cameron Gutman
ae2f6e5543
- Set Status
...
svn path=/branches/aicom-network-fixes/; revision=35867
2008-09-01 22:48:03 +00:00
Cameron Gutman
480dd52090
- Initially set Packet to NULL
...
svn path=/branches/aicom-network-fixes/; revision=35856
2008-09-01 13:12:34 +00:00
Cameron Gutman
bbf9cb252c
- Don't return NDIS_STATUS_SUCCESS when we really failed
...
svn path=/branches/aicom-network-fixes/; revision=35849
2008-09-01 03:58:34 +00:00
Cameron Gutman
1443f6833b
- Initially set PoolHandle, ConfigurationHandle, KeyHandle, and Filter to NULL
...
- Initially set PortOffset to 0
- Fix 4 memory leaks
- Remove a useless if
svn path=/branches/aicom-network-fixes/; revision=35848
2008-09-01 03:13:35 +00:00
Cameron Gutman
954aed91f2
- Change the status to STATUS_SUCCESS if TdiReceive returns STATUS_PENDING
...
svn path=/branches/aicom-network-fixes/; revision=35787
2008-08-30 03:29:41 +00:00
Cameron Gutman
1cc8981800
- Check if TdiBuildNullConnectionInfo completed successfully
...
- Add a comment
- Fail if we can't allocate Qelt
svn path=/branches/aicom-network-fixes/; revision=35786
2008-08-30 02:53:20 +00:00
Cameron Gutman
b8a0800ce6
- FCB->State gets set to SOCKET_STATE_CONNECTED in MakeSocketIntoConnection
...
svn path=/branches/aicom-network-fixes/; revision=35785
2008-08-30 02:40:26 +00:00
Cameron Gutman
60899277f8
- Check if MakeSocketIntoConnection succeeded
...
- Check if TaCopyTransportAddress succeeded
svn path=/branches/aicom-network-fixes/; revision=35784
2008-08-30 02:30:27 +00:00
Cameron Gutman
17c1d9b828
- Check that we successfully allocated memory
...
- Return TDI_NO_RESOURCES instead of STATUS_NO_MEMORY
svn path=/branches/aicom-network-fixes/; revision=35783
2008-08-30 02:04:30 +00:00
Cameron Gutman
ac9f7a78b0
- Returning STATUS_BUFFER_OVERFLOW is ok also since we're only trying to get DriverKeyLength
...
svn path=/branches/aicom-network-fixes/; revision=35761
2008-08-29 14:33:42 +00:00
Cameron Gutman
b4b79146c7
- Revert my last commit
...
- Looks like this is meant to fail
- I added a comment so no one does this again
svn path=/branches/aicom-network-fixes/; revision=35745
2008-08-29 04:23:10 +00:00
Cameron Gutman
cf392f00f6
- Fix a code typo resulting in calls to MiQueryResources to return early
...
svn path=/branches/aicom-network-fixes/; revision=35744
2008-08-29 03:59:25 +00:00
Cameron Gutman
8fa497277d
- Free the address we've previously allocated if needed
...
svn path=/branches/aicom-network-fixes/; revision=35743
2008-08-29 02:19:16 +00:00
Cameron Gutman
976fe9f031
- Set Handle to NULL so we don't try to close it later
...
svn path=/branches/aicom-network-fixes/; revision=35741
2008-08-29 01:08:55 +00:00
Cameron Gutman
abd660f2dc
- Revert my whole ASSERT mess
...
- This fixes Qemu
svn path=/branches/aicom-network-fixes/; revision=35611
2008-08-24 19:53:16 +00:00
Cameron Gutman
0a84b51976
- Apply the same change in my branch as I did to trunk in r35602
...
svn path=/branches/aicom-network-fixes/; revision=35610
2008-08-24 19:28:25 +00:00
Cameron Gutman
7a30e67498
- Add another missing PollReeval
...
svn path=/branches/aicom-network-fixes/; revision=35609
2008-08-24 19:21:41 +00:00
Cameron Gutman
63ba865297
- Revert r35601
...
- This should always be set if FCB->CurrentThread is non-NULL
svn path=/branches/aicom-network-fixes/; revision=35607
2008-08-24 18:32:19 +00:00
Cameron Gutman
d70ad469a8
- Set FCB->Locked to TRUE after we increment the lock count
...
svn path=/branches/aicom-network-fixes/; revision=35601
2008-08-24 16:20:14 +00:00
Cameron Gutman
a66142aff9
- Add some missing calls to PollReeval
...
- Move an existing PollReeval to always be called
svn path=/branches/aicom-network-fixes/; revision=35597
2008-08-24 13:56:35 +00:00
Cameron Gutman
e4a04351f2
- Fail if DatagramRecv->Address is NULL
...
svn path=/branches/aicom-network-fixes/; revision=35596
2008-08-24 13:25:19 +00:00
Cameron Gutman
963205e8b8
- Set *ConnectionInfo to NULL if we can't allocate memory for ConnInfo
...
svn path=/branches/aicom-network-fixes/; revision=35589
2008-08-24 02:55:26 +00:00
Cameron Gutman
4f54a68190
- Skip ObReferenceObjectByHandle if HandleArray[i].Handle is NULL
...
- Fail if ObReferenceObjectByHandle didn't succeed
- Remove a bad ASSERT I added in my last commit
svn path=/branches/aicom-network-fixes/; revision=35583
2008-08-24 01:34:17 +00:00
Cameron Gutman
98c2a1ea67
- Fail if MmProbeAndLockPages doesn't succeed
...
- Fail if IoAllocateMdl returns NULL
- Add some ASSERTs
svn path=/branches/aicom-network-fixes/; revision=35582
2008-08-24 01:09:48 +00:00
Cameron Gutman
e2c0738526
- Make sure IPAddr is non-NULL
...
- Change STATUS_UNSUCCESSFUL to STATUS_INVALID_PARAMETER
svn path=/branches/aicom-network-fixes/; revision=35579
2008-08-23 22:06:49 +00:00
Cameron Gutman
055139fc07
- Code cleanup
...
- Make sure FCB->RemoteAddress is non-NULL
svn path=/branches/aicom-network-fixes/; revision=35578
2008-08-23 21:53:37 +00:00
Cameron Gutman
2d966ffcfb
- Make sure FCB->AddressFrom is non-NULL
...
svn path=/branches/aicom-network-fixes/; revision=35577
2008-08-23 21:41:10 +00:00
Cameron Gutman
fb0a6601f9
- More STATUS_UNSUCCESSFUL to STATUS_INVALID_PARAMETER changes
...
svn path=/branches/aicom-network-fixes/; revision=35538
2008-08-22 19:35:20 +00:00
Cameron Gutman
e233f4f784
- Return a more accurate status (STATUS_INVALID_PARAMETER) than STATUS_UNSUCCESSFUL when a parameter is NULL
...
svn path=/branches/aicom-network-fixes/; revision=35536
2008-08-22 19:26:30 +00:00
Cameron Gutman
3b1ae0bb37
- Replace MmMapLockedPages with MmGetSystemAddressForMdlSafe
...
- Add a check to UnlockRequest
- Enclose MmProbeAndLockPages in SEH
- Fixes bug 3672
svn path=/branches/aicom-network-fixes/; revision=35507
2008-08-21 14:46:03 +00:00
Cameron Gutman
3b40e9b047
- Reapply r35481
...
svn path=/branches/aicom-network-fixes/; revision=35486
2008-08-20 19:06:43 +00:00
Cameron Gutman
df19533df7
- Fix IRP cancellation issues
...
- Ping doesn't hang anymore
svn path=/branches/aicom-network-fixes/; revision=35485
2008-08-20 18:50:26 +00:00
Cameron Gutman
67fae61a27
- Revert 35477-35481
...
svn path=/branches/aicom-network-fixes/; revision=35484
2008-08-20 18:46:38 +00:00
Cameron Gutman
9b492699af
- Fix handling of cancelled IRPs
...
svn path=/branches/aicom-network-fixes/; revision=35481
2008-08-20 17:29:01 +00:00
Cameron Gutman
6159e6d129
- Don't forget about ConnectIrp (This fix was lost in the merge)
...
- Don't destroy the same socket twice
- Don't unlock the same socket twice
- Don't destroy a socket with pending IRPs
svn path=/branches/aicom-network-fixes/; revision=35480
2008-08-20 14:56:12 +00:00
Cameron Gutman
3def13f731
- Fix build
...
svn path=/branches/aicom-network-fixes/; revision=35479
2008-08-20 14:48:42 +00:00
Cameron Gutman
a796846871
- The rest of the merge
...
- This will most likely need fixing later
svn path=/branches/aicom-network-fixes/; revision=35478
2008-08-20 14:43:33 +00:00
Cameron Gutman
8b269440fd
- Reapply arty's datagram cancellation work
...
- Part 1 of 3
svn path=/branches/aicom-network-fixes/; revision=35477
2008-08-20 14:21:08 +00:00
Cameron Gutman
fcdbf0c9d5
- Move LockBuffers
...
- Remove a duplicate debug print
svn path=/branches/aicom-network-fixes/; revision=35469
2008-08-20 01:42:12 +00:00
Cameron Gutman
95efddbf54
- Use FCB->Connection.Object instead of FCB->AddressFile.Object
...
- Spotted by Arty
svn path=/branches/aicom-network-fixes/; revision=35468
2008-08-20 01:10:13 +00:00
Cameron Gutman
5c1039783c
- Fix a bug that resulted in the status getting changed if TdiQueryInformation failed
...
svn path=/branches/aicom-network-fixes/; revision=35467
2008-08-19 23:50:41 +00:00
Cameron Gutman
0afe589112
- Use MmGetSystemAddressForMdlSafe instead of MmMapLockedPages
...
- Noticed by Alex
svn path=/branches/aicom-network-fixes/; revision=35466
2008-08-19 23:44:11 +00:00
Cameron Gutman
717ec21981
- Fix a memory leak
...
svn path=/branches/aicom-network-fixes/; revision=35463
2008-08-19 21:45:08 +00:00
Cameron Gutman
735fdd1782
- Make sure we have an mdl and a buffer
...
svn path=/branches/aicom-network-fixes/; revision=35457
2008-08-19 17:45:53 +00:00
Cameron Gutman
2a199d0cb2
- SEHify LockRequest
...
- Free everything and return if MmMapLockedPages fails
svn path=/branches/aicom-network-fixes/; revision=35454
2008-08-19 16:23:01 +00:00
Cameron Gutman
ea2d464b14
- MmMapLockedPages takes KPROCESSOR_MODE not LOCK_OPERATION as the second parameter
...
svn path=/branches/aicom-network-fixes/; revision=35453
2008-08-19 16:06:36 +00:00
Cameron Gutman
1c3484cdd1
- Make sure we don't complete with STATUS_SUCCESS if MmMapLockedPages fails
...
- Move and enable MmUnlockPages and IoFreeMdl
svn path=/branches/aicom-network-fixes/; revision=35446
2008-08-19 04:36:05 +00:00
Cameron Gutman
6b5a88dd52
- Use the correct ioctl
...
svn path=/branches/aicom-network-fixes/; revision=35439
2008-08-18 23:41:23 +00:00
Cameron Gutman
bd043fd1cf
- Call MmProbeAndLockPages for SysMdl
...
svn path=/branches/aicom-network-fixes/; revision=35431
2008-08-18 14:00:27 +00:00
Cameron Gutman
8b67a0b644
- Change STATUS_UNSUCCESSFUL to STATUS_FILE_CLOSED
...
- Move the Irp->Cancel check after SocketAcquireStateLock to fix a possible crash
- Change STATUS_INVALID_PARAMETER to STATUS_FILE_CLOSED
- Move SocketAcquireStateLock in front of the check for a NULL return from LockRequest to prevent another possible crash
svn path=/branches/aicom-network-fixes/; revision=35419
2008-08-17 22:12:31 +00:00
Cameron Gutman
ec037e4d9d
- Call SocketStateUnlock before returning
...
- Don't complete the IRP again in the completion routine
svn path=/branches/aicom-network-fixes/; revision=35418
2008-08-17 21:48:09 +00:00
Cameron Gutman
54a02c3ea8
- Make sure we successfully allocated ConnectionReturnInfo and ConnectionCallInfo
...
- Make sure ObReferenceObjectByHandle was successful
svn path=/branches/aicom-network-fixes/; revision=35398
2008-08-16 21:16:41 +00:00
Cameron Gutman
05a4dffa6e
- Move SocketAcquireStateLock out of SEH
...
svn path=/branches/aicom-network-fixes/; revision=35393
2008-08-16 15:06:12 +00:00
Cameron Gutman
3f184e689d
- Move MmUnlockPages to the proper place (still commented out though)
...
svn path=/branches/aicom-network-fixes/; revision=35391
2008-08-16 14:23:58 +00:00