Commit graph

32012 commits

Author SHA1 Message Date
Cameron Gutman 6532da2ccb - Implement ProtocolResetComplete
- Store the status that gets passed to the completion routine

svn path=/branches/aicom-network-fixes/; revision=36740
2008-10-13 00:55:33 +00:00
Cameron Gutman b01ceaabdc - Make sure NBAddNeighbor completed successfully
- Return the actual status instead of STATUS_SUCCESS always

svn path=/branches/aicom-network-fixes/; revision=36739
2008-10-13 00:52:25 +00:00
Cameron Gutman 23d01c2592 - Queue the work item directly from MiniQueueWorkItem
- Handle an invalid SelectedMediumIndex separately
 - Cancel the hang timer before calling MiniportHalt
 - Handle a BindAdapter failure

svn path=/branches/aicom-network-fixes/; revision=36738
2008-10-13 00:41:48 +00:00
Cameron Gutman 3d33a2e976 - More work on NDIS 6.0
- Part 2 of X

svn path=/branches/aicom-network-fixes/; revision=36700
2008-10-08 22:25:01 +00:00
Cameron Gutman 1e22a89acc - Some of my work on NDIS 6.0
- Doesn't compile yet
 - Part 1 of X

svn path=/branches/aicom-network-fixes/; revision=36699
2008-10-08 21:17:10 +00:00
Cameron Gutman cc68183962 - Partially implement ProtocolStatus in tcpip
svn path=/branches/aicom-network-fixes/; revision=36670
2008-10-06 23:19:22 +00:00
Cameron Gutman a033d44691 - Implement a MiniportShutdown routine for both NIC drivers
svn path=/branches/aicom-network-fixes/; revision=36669
2008-10-06 21:39:39 +00:00
Cameron Gutman b3443bcbb9 - Call the MiniportShutdown handler at the right time
- Now we call it upon system shutdown and if a bug check occurred

svn path=/branches/aicom-network-fixes/; revision=36667
2008-10-06 18:56:44 +00:00
Cameron Gutman 31b506837b - Add NDIS_OBJECT_HEADER and NDIS_GENERIC_OBJECT (NDIS 6.0)
svn path=/branches/aicom-network-fixes/; revision=36659
2008-10-06 01:40:07 +00:00
Cameron Gutman 30f8dc548c - Only call the ProtocolReceivePacket handler if the protocol registered one
- Remove some unneeded code
 - Immediately send the loopback packet if possible

svn path=/branches/aicom-network-fixes/; revision=36649
2008-10-04 21:55:01 +00:00
Cameron Gutman 38d2e13461 - Properly implement MiniIndicateReceivePacket
svn path=/branches/aicom-network-fixes/; revision=36648
2008-10-04 21:31:36 +00:00
Cameron Gutman b0e7e05ba2 - Send NDIS_STATUS_RESET_START to all bound protocols before we reset
- Send NDIS_STATUS_RESET_END to all bound protocols after we reset
 - Set MiniportBusy to TRUE if the MiniportReset handler returned NDIS_STATUS_PENDING

svn path=/branches/aicom-network-fixes/; revision=36635
2008-10-03 21:44:12 +00:00
Cameron Gutman e92e21d4cf - Move the implementation of NdisMIndicateStatus to MiniStatus and call it from NdisMIndicateStatus
- Move the implementation of NdisMIndicateStatusComplete to MiniStatusComplete and call it from NdisMIndicateStatusComplete

svn path=/branches/aicom-network-fixes/; revision=36633
2008-10-03 18:38:40 +00:00
Cameron Gutman aed6591143 - Implement NdisMIndicateStatusComplete
svn path=/branches/aicom-network-fixes/; revision=36632
2008-10-03 18:16:43 +00:00
Cameron Gutman c3bf439096 - Implement NdisMIndicateStatus
svn path=/branches/aicom-network-fixes/; revision=36631
2008-10-03 09:49:37 +00:00
Cameron Gutman 177f7f87d8 - Adapter is PLOGICAL_ADAPTER not PNDIS_MINIPORT_BLOCK
svn path=/branches/aicom-network-fixes/; revision=36621
2008-10-02 02:13:19 +00:00
Cameron Gutman 2e295e7d36 - Only call MiniportISR if the miniport driver called NdisMRegisterInterrupt with RequestIsr TRUE
- If RequestIsr is FALSE call the MiniportDisableInterrupt handler

svn path=/branches/aicom-network-fixes/; revision=36620
2008-10-02 02:04:57 +00:00
Cameron Gutman 769eadf101 - Adapter not NdisMiniportBlock is passed to ServiceRoutine
svn path=/branches/aicom-network-fixes/; revision=36619
2008-10-01 23:10:00 +00:00
Cameron Gutman 2197413b36 - Send the packet immediately if the miniport is not busy
- Change KeAcquireSpinLockAtDpcLevel/KeReleaseSpinLockFromDpcLevel to KeAcquireSpinLock/KeReleaseSpinLock since we aren't at DISPATCH_LEVEL
 - Fix some comments

svn path=/branches/aicom-network-fixes/; revision=36594
2008-09-30 00:09:23 +00:00
Cameron Gutman 48af47e451 - Code cleanup
svn path=/branches/aicom-network-fixes/; revision=36593
2008-09-30 00:04:52 +00:00
Cameron Gutman 9536865b31 - Fix a memory leak
svn path=/branches/aicom-network-fixes/; revision=36592
2008-09-30 00:02:53 +00:00
Cameron Gutman 576e6e7961 - Use the proper flags so NDIS knows that our NIC doesn't have hardware loopback support
- Fixes the loopback adapter

svn path=/branches/aicom-network-fixes/; revision=36591
2008-09-29 23:57:32 +00:00
Cameron Gutman f37a431c9a - Call the ProtocolReceive handler at DISPATCH_LEVEL
svn path=/branches/aicom-network-fixes/; revision=36581
2008-09-28 20:05:38 +00:00
Cameron Gutman 1a255263e6 - Raise IRQL to DISPATCH_LEVEL before using KeAcquireSpinLockAtDpcLevel/KeReleaseSpinLockFromDpcLevel
svn path=/branches/aicom-network-fixes/; revision=36580
2008-09-28 19:58:09 +00:00
Cameron Gutman 1d8b2f1556 - Set MiniportBusy to TRUE if a request is pending
- Hold spin lock when setting MiniportBusy (forgot one from last time)

svn path=/branches/aicom-network-fixes/; revision=36558
2008-09-27 19:54:58 +00:00
Cameron Gutman 63ed3d8b4f - Don't add the protocol to the protocol list if binding failed
svn path=/branches/aicom-network-fixes/; revision=36557
2008-09-27 19:26:17 +00:00
Cameron Gutman 72f9da2665 - Protect MiniportBusy with a spin lock
- Adapter is PLOGICAL_ADAPTER not PNDIS_MINIPORT_BLOCK
 - Make sure memory allocation was successful
 - Cleanup code in ProRequest

svn path=/branches/aicom-network-fixes/; revision=36556
2008-09-27 19:00:47 +00:00
Cameron Gutman a4c5f0d79c - Call ResetHandler directly
svn path=/branches/aicom-network-fixes/; revision=36552
2008-09-27 18:30:11 +00:00
Cameron Gutman 9826b2ad04 - Queue a work item in MiniReset if the adapter is currently busy
- Handle NdisWorkItemResetRequested in MiniportWorker
 - Remove a fixme

svn path=/branches/aicom-network-fixes/; revision=36551
2008-09-27 18:00:08 +00:00
Cameron Gutman 337a43d553 - Remove dead code
- Fixes coverity error 85

svn path=/branches/aicom-network-fixes/; revision=36538
2008-09-26 18:10:50 +00:00
Cameron Gutman 82e25f4548 - Fix a typo
- Fixes coverity error 388

svn path=/branches/aicom-network-fixes/; revision=36528
2008-09-26 03:43:07 +00:00
Cameron Gutman 0820ee7a4e - Return early if there aren't any packets to be sent
- Fixes coverity error 458

svn path=/branches/aicom-network-fixes/; revision=36527
2008-09-26 03:35:56 +00:00
Cameron Gutman d9db39f82d - Return early if NBAddNeighbor or RouterAddRoute fails
- Fixes coverity error 389

svn path=/branches/aicom-network-fixes/; revision=36526
2008-09-26 03:23:56 +00:00
Cameron Gutman 9023e12475 - Return early if ProtocolNumber is too large
- Fixes coverity error 600

svn path=/branches/aicom-network-fixes/; revision=36525
2008-09-26 03:12:18 +00:00
Cameron Gutman d8398cc719 - Fail if From is NULL
- Fixes Coverity error 652

svn path=/branches/aicom-network-fixes/; revision=36524
2008-09-26 03:03:55 +00:00
Cameron Gutman 975e8109a2 - Don't call NdisMSendComplete in MiniportSend
svn path=/branches/aicom-network-fixes/; revision=36501
2008-09-25 03:23:15 +00:00
Cameron Gutman 2f05ba10c9 - Created a dummy nic driver for testing purposes
- Still a work in progress

svn path=/branches/aicom-network-fixes/; revision=36500
2008-09-25 01:02:08 +00:00
Cameron Gutman df2275e5e3 - Add a debug print
svn path=/branches/aicom-network-fixes/; revision=36496
2008-09-24 22:00:02 +00:00
Cameron Gutman b4f76ec0bb - MiniportAdapterHandle is PLOGICAL_ADAPTER not PNDIS_MINIPORT_BLOCK
svn path=/branches/aicom-network-fixes/; revision=36495
2008-09-24 21:56:07 +00:00
Cameron Gutman 23c2ae170f - Use timers so the code is much more simple and works better
svn path=/branches/aicom-network-fixes/; revision=36442
2008-09-23 23:59:43 +00:00
Cameron Gutman 0cabe4ffdb - Check for miniport hangs at the appropriate time
- Call MiniReset if required

svn path=/branches/aicom-network-fixes/; revision=36441
2008-09-23 20:54:02 +00:00
Cameron Gutman be3ff9cec9 - Uncomment the stubbed CheckForHang handler
svn path=/branches/aicom-network-fixes/; revision=36440
2008-09-23 20:48:43 +00:00
Cameron Gutman 63c5133b1c - Set CheckForHangSeconds to a default value of 2 if it wasn't set in MiniportInitialize
svn path=/branches/aicom-network-fixes/; revision=36438
2008-09-23 20:17:59 +00:00
Cameron Gutman 2d8a1d38bb - Set CheckForHangSeconds
svn path=/branches/aicom-network-fixes/; revision=36437
2008-09-23 20:10:35 +00:00
Cameron Gutman 8f1a94b39b - Call the CheckForHang handler at DISPATCH_LEVEL
- Implement MiniReset

svn path=/branches/aicom-network-fixes/; revision=36433
2008-09-23 18:44:17 +00:00
Cameron Gutman faa10907ca - Implement MiniCheckForHang
svn path=/branches/aicom-network-fixes/; revision=36432
2008-09-23 18:24:19 +00:00
Cameron Gutman 274d2f50e8 - We must check that NdisWrapperHandle is non-NULL to see if NdisMInitializeWrapper succeeded
svn path=/branches/aicom-network-fixes/; revision=36430
2008-09-23 18:07:26 +00:00
Cameron Gutman 521d849d25 - Add some IRQL checks for ne2000 like those in r36406
svn path=/branches/aicom-network-fixes/; revision=36408
2008-09-23 04:53:59 +00:00
Cameron Gutman 751bd9fb71 - Change NdisAcquireSpinLock to NdisDprAcquireSpinLock because we are running at DISPATCH_LEVEL
svn path=/branches/aicom-network-fixes/; revision=36407
2008-09-23 04:39:31 +00:00
Cameron Gutman be9e073137 - Add some IRQL checks
- Fix some comments

svn path=/branches/aicom-network-fixes/; revision=36406
2008-09-23 04:29:30 +00:00