reactos/drivers
Michael Stamper 378294a7df
[PORTCLS] Fix races, fix WavePci Port Drivers
- Split buffers on page to prevent non-contiguous memory being passed to driver.
- Protect CIrpQueue::GetMappingWithTag, ReleaseMappingWithTag with spinlock to prevent race conditions
  (GetMapping, ReleaseMapping do not need spinlock, they are only called from a service routine).
- Remove ASSERT in CIrpQueue::ReleaseMappingWithTag, when mappings are released out of order. Just ignore
  the tag argument and release the next one in the list. This is what windows does, confirmed by calling
  PortWavePciStream::ReleaseMapping() with tag argument set to 0, absolutly no difference observed.
  Allowing out of order release is essential given that a driver is not permitted to hold a spinlock when calling
  ReleaseMapping().
- Remove IIrpQueue::HasLastMappingFailed(), it never worked and there is no way it could work.
  CPortPinWavePci::HandleKsStream() call MappingAvailable() non-conditionally, this is what Windows does,
  verified by debug prints in ac97 driver.
- Implement CIrpQueue::NumData().
- Remove incorrect interlocked operations/volatile variables and several (now unused) class fields.
2022-01-05 03:20:44 +03:00
..
base [KDGDB] Support "int 0x2c" for x86 & amd64 targets 2021-07-05 10:55:47 +02:00
battery [CMAKE] Use modules instead of shared libraries 2019-04-06 17:43:38 +02:00
bluetooth [REACTOS] Silence warnings in 3r-party code 2021-07-23 22:03:48 +02:00
bus [DRIVERS] Use IoForwardIrpSynchronously in drivers 2022-01-05 02:17:56 +03:00
crypto [KSECDD] Fix RtlEncryptMemory and improve test 2020-09-25 09:39:51 +02:00
filesystems [NTFS][UDFS] Fix build with NDEBUG undefined (#4171) 2021-12-20 21:19:53 +01:00
filters [FLTMGR] CreateClientPort(): Fix ObInsertObject() error handling 2021-12-28 02:27:50 +03:00
hid [KBDHID] Fix returned Status for IOCTL_KEYBOARD_QUERY_* 2021-09-12 23:36:18 +02:00
input [DRIVERS] Use IoForwardIrpSynchronously in drivers 2022-01-05 02:17:56 +03:00
ksfilter [DRIVERS] Use IoForwardIrpSynchronously in drivers 2022-01-05 02:17:56 +03:00
multimedia [DLLs] Fix .spec files regarding OLE-specific exports. 2019-07-28 16:26:22 +02:00
network [E1000] Minor improvements (#3904) 2021-12-14 01:57:33 +03:00
parallel [DRIVERS] Use IoForwardIrpSynchronously in drivers 2022-01-05 02:17:56 +03:00
processor [DRIVERS] Use IoForwardIrpSynchronously in drivers 2022-01-05 02:17:56 +03:00
sac [SACDRV] Fix uninitialized variable usage. 2021-10-27 19:27:32 -04:00
serial [DRIVERS] Use IoForwardIrpSynchronously in drivers 2022-01-05 02:17:56 +03:00
setup [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
storage [DRIVERS] Use IoForwardIrpSynchronously in drivers 2022-01-05 02:17:56 +03:00
usb [DRIVERS] Use IoForwardIrpSynchronously in drivers 2022-01-05 02:17:56 +03:00
wdm [PORTCLS] Fix races, fix WavePci Port Drivers 2022-01-05 03:20:44 +03:00
wmi [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
CMakeLists.txt Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00