Victor Perevertkin
d17d15ab6c
[FORMATTING][USBSTOR] Remove Captain Obvious and line-wasting comments.
...
Now the driver conforms with our current Coding Style.
No functional changes
2019-06-11 04:39:43 +03:00
Thomas Faber
a7634b8e1d
[USBHUB_NEW] Support NULL HubExtension in USBH_PdoRemoveDevice.
...
Device removal can happen multiple times for PDOs.
2019-04-14 15:32:18 +02:00
Thomas Faber
477cf902e4
[USBHUB_NEW] Fix inverted check in USBH_RestoreDevice.
...
This allows re-enabling a disabled device.
2019-04-14 15:32:16 +02:00
Thomas Faber
46b0f6d9de
[USBCCGP] Allow unconfiguring the device in USBCCGP_PDOSelectConfiguration.
...
Fixes device removal for USB audio devices.
2019-04-14 15:32:14 +02:00
Thomas Faber
528fc589c0
[USBCCGP] Do not try to unconfigure a device that is not configured.
...
Fixes handling failed IRP_MN_START_DEVICE.
2019-04-14 15:32:12 +02:00
Jérôme Gardou
23373acbb9
[CMAKE] Use modules instead of shared libraries
...
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.
On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Thomas Faber
fc9d5d2f55
[USBUHCI_NEW] Fix an infinite loop.
2019-03-11 08:54:03 +01:00
Thomas Faber
026a12fe39
[USBPORT] Implement interface setting in USBPORT_OpenInterface.
2019-03-11 08:54:01 +01:00
Thomas Faber
ac20ab031c
[USBPORT] Correctly handle alternate settings returned from USBPORT_ParseConfigurationDescriptor.
...
The last parameter of USBPORT_ParseConfigurationDescriptor is a pointer
to a boolean indicating whether any alternate interface settings were
found for the specified interface.
Interpreting it as an alternate setting value, as we did before,
would always override the alternate setting to '1' (if any alternate
descriptors were present), therefore selecting the wrong interface
setting, and possibly causing a buffer overflow on the InterfaceList's
Pipes array.
Found by Special Pool.
2019-03-11 08:53:55 +01:00
Thomas Faber
36c1cb0910
[USBPORT] Correctly find interface descriptor in USBPORT_ParseConfigurationDescriptor
...
There can be other descriptors between the config descriptor and the
first interface descriptor, so we specifically need to check for
the interface descriptor type and skip anything before that.
We also need to guard against bLength == 0, which would cause an
infinite loop, instead of doing a second bDescriptorType check.
2019-03-11 08:53:53 +01:00
Thomas Faber
1946f6bb25
[USBPORT] Acquire EndpointSpinLock in addition to MiniportSpinLock in USBPORT_ReopenPipe.
2019-03-11 08:53:52 +01:00
Thomas Faber
e47240fb37
[USBPORT] Release StateChangeSpinLock before acquiring MiniportSpinLock.
...
Found by Driver Verifier.
2019-03-11 08:53:50 +01:00
Thomas Faber
267f5633ee
[USBPORT] Leave IRP status untouched for unhandled interfaces.
...
Found by Driver Verifier.
2019-03-11 08:53:49 +01:00
Thomas Faber
12a66769fc
[USBPORT] Don't change the status of IRP_MJ_SYSTEM_CONTROL requests.
...
Found by Driver Verifier.
2019-03-11 08:53:47 +01:00
Thomas Faber
e10e6a85fb
[USBHUB_NEW] Don't leak IRP_MJ_SYSTEM_CONTROL requests.
...
Found by Driver Verifier.
2019-03-11 08:53:45 +01:00
Hermès Bélusca-Maïto
38be848f68
[USBSTOR][USBSTOR_NEW] Fix a comparison made for assigning the ScsiInquiryData->RemovableMedia flag.
...
Now removable drives are really reported as such.
See https://github.com/reactos/reactos/pull/308/files#r163224294
for more details.
2019-02-10 22:40:59 +01:00
Amine Khaldi
3bf751e046
[USBEHCI_NEW] Bring-in the USB EHCI miniport driver created by Vadim Galyant. ( #301 )
2018-09-10 09:05:35 +02:00
Vadim Galyant
3baf43c5de
[USBHUB_NEW][USBPORT] Fix buffer size calculation for multi-sz values in IRP_MN_QUERY_ID.
...
Also fix some copypasta'd DPRINTs.
2018-09-09 11:24:48 +02:00
Thomas Faber
e400519cb5
[USBUHCI_NEW] Add license headers.
2018-09-08 10:16:02 +02:00
Thomas Faber
855df84fb2
[USBOHCI_NEW] Add license headers.
2018-09-08 10:15:52 +02:00
Thomas Faber
d6d6b329be
[USBOHCI_NEW][USBUHCI_NEW] Avoid unnecessary/incorrect status defines.
2018-09-08 08:45:18 +02:00
Thomas Faber
c188e387e3
[USBOHCI_NEW] Avoid storing pointers as ULONG and physical addresses as pointers.
2018-09-01 18:23:25 +02:00
Thomas Faber
0dfa7356c8
[USBHUB_NEW] Fix x64 warnings.
2018-09-01 18:23:14 +02:00
Amine Khaldi
a1a65e940a
[USBUHCI_NEW] Bring-in the USB UHCI miniport driver created by Vadim Galyant. ( #245 )
2018-09-01 17:45:45 +02:00
Thomas Faber
5403094339
[USBPORT] Fix 64 bit warnings.
2018-08-16 14:14:42 +02:00
Thomas Faber
bd4529b717
[USBPORT] Specify the correct length for the root hub's hub descriptor.
2018-08-16 14:14:31 +02:00
Thomas Faber
db54e5eb1c
[USBPORT] Remove an unnecessary check in USBPORT_AllocateBandwidthUSB2. CID 1434261
2018-08-16 14:14:23 +02:00
Thomas Faber
7ad4cf96f3
[USBPORT] Remove an unnecessary check in USB2_ConvertFrame. CID 1434244
2018-08-16 14:14:15 +02:00
Thomas Faber
d1e5699e60
[USBPORT] Accept negative BusTime in USB2_MoveTtEndpoint. CID 1434226
2018-08-16 14:14:04 +02:00
Timo Kreuzer
9e066abe2a
[DRIVERS] Fix 64 bit issues
2018-08-04 19:19:34 +02:00
Timo Kreuzer
c1944118ca
[USBPORT] Fix 64 bit issues
2018-08-04 19:19:34 +02:00
Peter Wathall
ae9cc6bb52
Fixed typo
2018-05-17 16:15:25 +01:00
Peter Wathall
6412253d44
Fixed typo
2018-05-17 16:15:25 +01:00
Peter Wathall
3a3a4f7970
Fixed typo
2018-05-17 16:15:25 +01:00
Thomas Faber
0ce31759d0
[USBPORT] Fix x64 build.
2018-05-12 10:11:21 +02:00
Vadim Galyant
c89a190ea6
[USBPORT][USBOHCI_NEW] Avoid using pointers for physical addresses.
2018-05-11 15:46:25 +02:00
Thomas Faber
837411e292
[USBOHCI_NEW] Fix build.
2018-05-11 15:44:19 +02:00
Timo Kreuzer
6b1ca75899
[REACTOS] Fix 64 bit build ( #465 )
...
* [HAL] Simplify HalpReboot() and make it portable
* [NTOS:MM] Cast constant to PVOID
* [BINPATCH] Fix 64 bit build
* [VFDDRV] Fix 64 bit build and buffer overruns
* [USBOHCI] Fix structure alignment issues
* [ATL_APITEST] Fix 64 bit build
* [XDK] Update unwind structures in winnt.h
* [NTDLL_APITEST] Fix 64 bit build
* [NTDLL_WINETEST] Fix 64 bit build
* [TFTPD] Fix x64 build
* [USBPORT] Fix a C_ASSERT
* [DSOUND] Fix x64 build
* [HAL] Remove obsolete GetPteAddress() macro
2018-04-03 15:13:17 -06:00
Colin Finck
765280bf5f
Merge PR #283 "[USBPORT] Transaction Translator (TT) support bringup"
2018-03-29 23:52:22 +02:00
Thomas Faber
851a554b59
[USBHUB_NEW] Fix USBH_CheckDeviceIDUnique return value.
2018-03-27 08:59:54 +02:00
Vadim Galyant
62612a7e45
[USBPORT] Use USB2_HS_INTERRUPT_IN_OVERHEAD instead USB2_HS_ISOCHRONOUS_OUT_OVERHEAD.
2018-02-21 13:35:25 +09:00
Vadim Galyant
11772da783
[USBPORT] Small changes for debugging.
2018-01-26 20:46:34 +09:00
Vadim Galyant
f37a3dc42f
[USBPORT] Add USB2_BIT_STUFFING_OVERHEAD constant.
2018-01-22 14:15:57 +09:00
Vadim Galyant
797ebcab72
[USBPORT] Fixing use DeviceSpeed instead Direction.
2018-01-21 19:36:01 +01:00
Vadim Galyant
a4dee8e3ac
[USBPORT] Add a space in indentation.
2018-01-21 19:36:00 +01:00
Vadim Galyant
ecd0097e37
[USBPORT] Delete DPRINTs.
2018-01-21 19:36:00 +01:00
Vadim Galyant
0f8079df3a
[USBPORT] Add USB2_PREV_MICROFRAME constant.
2018-01-21 19:35:59 +01:00
Vadim Galyant
fd5beb5593
[USBPORT] Moving array CMASKS[] to start file.
2018-01-21 19:35:59 +01:00
Vadim Galyant
2c73523b76
[USBPORT] Removing optional braces.
2018-01-21 19:35:59 +01:00
Vadim Galyant
c86210e800
[USBPORT] Correcting check Period.
2018-01-21 19:35:58 +01:00
Vadim Galyant
dd1297f0d0
[USBPORT] Use min(), max() macro.
2018-01-21 19:35:58 +01:00
Vadim Galyant
ab88f25048
[USBPORT] Check Period instead Factor.
2018-01-21 19:35:58 +01:00
Vadim Galyant
954cc021da
[USBPORT] Proper naming.
2018-01-21 19:35:57 +01:00
Vadim Galyant
18f4fc71c8
[USBPORT] Use min() macro.
2018-01-21 19:35:57 +01:00
Vadim Galyant
9426d2986d
[USBPORT] Fixing calculation pointer for FdoExtension->Usb2Extension.
2018-01-21 19:35:56 +01:00
Vadim Galyant
7b92b8a6e2
[USBPORT] Implement USBPORT_FreeBandwidthUSB2().
2018-01-21 19:35:56 +01:00
Vadim Galyant
57f092106a
[USBPORT] Correcting USB2_DeallocateEndpointBudget().
2018-01-21 19:35:56 +01:00
Vadim Galyant
bc9046c635
[USBPORT] Implement USB2_PromotePeriods().
2018-01-21 19:35:55 +01:00
Vadim Galyant
0558635f98
[USBPORT] Add USB2_ChangePeriod().
2018-01-21 19:35:55 +01:00
Vadim Galyant
69406c2628
[USBPORT] Implement USB2_DeallocateEndpointBudget().
2018-01-21 19:35:54 +01:00
Vadim Galyant
5ad7a2faa5
[USBPORT] Implement USB2_RebalanceEndpoint().
2018-01-21 19:35:54 +01:00
Vadim Galyant
522c0d3c69
[USBPORT] Implement USB2_Rebalance().
2018-01-21 19:35:54 +01:00
Vadim Galyant
5d12e3040c
[USBPORT] Add stub for USB2_RebalanceEndpoint().
2018-01-21 19:35:53 +01:00
Vadim Galyant
bbbcb1dc75
[USBPORT] Rename variables only in USB2_AllocateTimeForEndpoint().
2018-01-21 19:35:53 +01:00
Vadim Galyant
3ba9fffbb2
[USBPORT] Start implementation USB2_DeallocateEndpointBudget().
2018-01-21 19:35:53 +01:00
Vadim Galyant
3031695100
[USBPORT] Add USB2_CommonFrames().
2018-01-21 19:35:52 +01:00
Vadim Galyant
ae800da85b
[USBPORT] Implement USB2_MoveTtEndpoint().
2018-01-21 19:35:52 +01:00
Vadim Galyant
c48093573b
[USBPORT] Implement USB2_DeallocateHS().
2018-01-21 19:35:51 +01:00
Vadim Galyant
00dd0c67b6
[USBPORT] Correcting USB2_AllocateHS().
2018-01-21 19:35:51 +01:00
Vadim Galyant
1926238056
[USBPORT] Reduces output of debug messages.
2018-01-21 19:35:51 +01:00
Vadim Galyant
5ffefbe945
[USBPORT] Add USB2_GetCMASK().
2018-01-21 19:35:50 +01:00
Vadim Galyant
f3c869a16b
[USBPORT] Add USB2_GetSMASK()and USB2_ConvertFrame().
2018-01-21 19:35:50 +01:00
Vadim Galyant
df44bc6d84
[USBPORT] Add stub for USB2_MoveTtEndpoint().
2018-01-21 19:35:50 +01:00
Vadim Galyant
ab5810576f
[USBPORT] Add stub for USB2_DeallocateHS().
2018-01-21 19:35:49 +01:00
Vadim Galyant
8b9d5d1514
[USBPORT] Correcting USB2_InitTtEndpoint().
2018-01-21 19:35:49 +01:00
Vadim Galyant
e262bb610d
[USBPORT] End implementation USB2_AllocateTimeForEndpoint().
2018-01-21 19:35:49 +01:00
Vadim Galyant
2be475db5d
[USBPORT] Correcting USB2_GetStartTime().
2018-01-21 19:35:48 +01:00
Vadim Galyant
7553e54199
[USBPORT] Start implementation USB2_AllocateTimeForEndpoint().
2018-01-21 19:35:48 +01:00
Vadim Galyant
65f8f961a3
[USBPORT] Continue implementation USBPORT_AllocateBandwidthUSB2().
2018-01-21 19:35:47 +01:00
Vadim Galyant
67138e7d54
[USBPORT] Use ExFreePoolWithTag() instead ExFreePool() for TtExtension. Add debug info.
2018-01-21 19:35:47 +01:00
Vadim Galyant
3bda39fcb8
[USBPORT] Add USBPORT_DumpingEndpointProperties() and USBPORT_DumpingTtEndpoint().
2018-01-21 19:35:47 +01:00
Vadim Galyant
698f092ab1
[USBPORT] Implement USB2_AllocateHS().
2018-01-21 19:35:46 +01:00
Vadim Galyant
720d7cfd9b
[USBPORT] Add USB2_GetHsOverhead().
2018-01-21 19:35:46 +01:00
Vadim Galyant
2d4bd7b744
[USBPORT] Reduces output of debug messages.
2018-01-21 19:35:46 +01:00
Vadim Galyant
816b3a572c
[USBPORT] Remove unnecessary semicolon.
2018-01-21 19:35:45 +01:00
Vadim Galyant
5654674e8c
[USBPORT] Add stubs for USB2_AllocateHS() and USB2_DeallocateEndpointBudget().
2018-01-21 19:35:45 +01:00
Vadim Galyant
e39b88e3e7
[USBPORT] Add USB2_GetPrevMicroFrame().
2018-01-21 19:35:45 +01:00
Vadim Galyant
71a7208f69
[USBPORT] Add USB2_IncMicroFrame().
2018-01-21 19:35:44 +01:00
Vadim Galyant
22b8777f84
[USBPORT] Add USB2_GetStartTime().
2018-01-21 19:35:44 +01:00
Vadim Galyant
0216b033cc
[USBPORT] Add USB2_GetLastIsoTime().
2018-01-21 19:35:44 +01:00
Vadim Galyant
c3803bed8a
[USBPORT] Add USB2_CheckTtEndpointInsert().
2018-01-21 19:35:43 +01:00
Vadim Galyant
e701da4923
[USBPORT] Add USB2_AllocateCheck().
2018-01-21 19:35:43 +01:00
Vadim Galyant
c034297f2d
[USBPORT] Add USB2_AddDataBitStuff().
2018-01-21 19:35:43 +01:00
Vadim Galyant
754f749cfd
[USBPORT] Add USB2_GetOverhead().
2018-01-21 19:35:42 +01:00
Vadim Galyant
c2ae849dab
[USBPORT] Start implementation USBPORT_AllocateBandwidthUSB2().
2018-01-21 19:35:42 +01:00
Vadim Galyant
02d1cfd37f
[USBPORT] Change debug message in USBPORT_RemoveDevice(().
2018-01-21 19:35:41 +01:00
Vadim Galyant
5e15ba48b9
[USBPORT] Add support for transaction translators in USBPORT_RemoveDevice().
2018-01-21 19:35:41 +01:00
Vadim Galyant
cbba6e80fc
[USBPORT] Correcting USBPORT_InitializeDevice() and USBPORT_RestoreDevice() (DEVICE_HANDLE_FLAG_USB2HUB).
2018-01-21 19:35:41 +01:00
Vadim Galyant
664e48cad5
[USBPORT] Implement USBPORT_FreeBandwidth().
2018-01-21 19:35:40 +01:00
Vadim Galyant
aae6dd6073
[USBPORT] Implement USBPORT_AllocateBandwidth().
2018-01-21 19:35:40 +01:00