Justin Miller
a65b6ae946
[USBSTOR] Don't assert on clean up if initization didnt finish ( #7412 )
...
During investigation into some of the USB stack issues we've been running into I've found that when a USB storage device is already plugged in during boot and removed before it finishes initialization we run into this assert.
The logic in this function removes the pools made for the following entries in DeviceExtension indiscriminately this makes debugging a bit more difficult. Instead of depending on this behavior of ALWAYS being filled with valid data, let's free the following pools ONLY if they're initialized. This change prevents us from bugchecking when USB flash drives are removed early during boot. This makes the debugging experience a little more sane.
2024-10-02 23:21:50 +02:00
Adam Słaboń
20efea8fa4
[USBSTOR] Fix PdoHandleQueryInstanceId and increase serial number descriptor size to MAXIMUM_USB_STRING_LENGTH ( #6413 )
...
Serial number on some USB devices might exceed the number of 100 characters
(e.g. 120 characters on "SanDisk Ultra 3.2Gen1" pendrive) and cause buffer
overflow, resulting in usbstor.sys crash.
- Use pool allocation for instance ID generation.
Fixes stack overflow on USB storage devices with large serial number.
- Print the LUN number as a hexadecimal, not as a character.
- Verify the serial number descriptor before using it.
- Increase the max descriptor size for serial number to
MAXIMUM_USB_STRING_LENGTH. This fixes serial number string truncation.
Based on suggestions by disean and ThFabba.
CORE-17625
2024-02-16 18:48:33 +03:00
Serge Gautherie
5b54477d47
[BDASUP][PORTCLS][SYSAUDIO][USB] Use ExAllocatePoolZero() and ExFreePoolWithTag() ( #5811 )
2023-10-23 18:16:59 +02:00
Stanislav Motylkov
bbccad0ed6
[INF] Set manufacturer as ReactOS Project for consistency
...
Also make it non-localizable. CORE-18191
2022-06-27 17:00:18 +03:00
Luke Luo
f59c58d833
[TRANSLATION] Improve Simplified & Traditional Chinese translations ( #4388 )
...
Reviewed-by: Chan Chilung <eason066@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-03-31 20:38:52 +03:00
Victor Perevertkin
7ed1883c8e
[DRIVERS] Use IoForwardIrpSynchronously in drivers
...
Instead of having an own routine in each driver
IoForwardIrpSynchronously can be used.
2022-01-05 02:17:56 +03:00
Stanislav Motylkov
07c534c863
[BOOTDATA][USBSTOR] Add device definitions for SFF-8070i (ARMD-style devices)
...
Confirmed working with our usbstor driver by Vort.
CORE-17895
2021-12-08 17:52:07 +03:00
Süleyman Poyraz
05c39d8d62
[TRANSLATION] Update Turkish (tr-TR) translations ( #3958 )
...
Reviewed-by: Can Taşan <ctasan99@hotmail.com>
Signed-off-by: Süleyman Poyraz <zaryob.dev@gmail.com>
2021-10-10 16:00:12 +03:00
Victor Perevertkin
34593d933b
[FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces
2021-06-11 15:33:08 +03:00
Victor Perevertkin
39c48a4d91
[USBSTOR] Remove workarounds for old storage stack
2020-12-06 23:32:29 +03:00
Victor Perevertkin
f722be93d5
[USBSTOR] Enable USB (ATAPI) cdroms
...
With the cdrom_new driver, they now work
CORE-16112
2020-12-06 02:08:32 +03:00
Victor Perevertkin
cbe88e287f
[USBSTOR][SCSIPORT] Use STORAGE_ADAPTER_DESCRIPTOR from WIN8
...
This way, these drivers are more compatible with classpnp and cdrom used
by ReactOS (and don't fire asserts)
2020-12-06 01:57:56 +03:00
Victor Perevertkin
1e512e29dc
[USBSTOR] Correctly terminate a REG_MULTI_SZ string
...
returned by the IRP_MN_QUERY_ID handler
2020-06-24 21:15:58 +03:00
Victor Perevertkin
2540c3b1e8
[USBSTOR] Fix unused variable introduced in 94e61c3
2020-06-13 03:20:08 +03:00
Victor Perevertkin
493f2ace11
[USBSTOR] Fix wrong function name in a9b97ae
2020-06-13 03:07:00 +03:00
Victor Perevertkin
94e61c3080
[USBSTOR] Move PDO's Inquiry data and FDO's SCSI context
...
to their Device Extensions.
This way the driver can better handle low memory situations
2020-06-12 16:55:27 +03:00
Victor Perevertkin
a9b97aeded
[USBSTOR] General refactoring.
...
Remove unused structures and unused fields in device extensions.
Replaced magic numbers with constants
2020-06-12 16:55:27 +03:00
Amine Khaldi
139a3d6661
[CMAKE] Implement PCH builds with target_precompile_headers. CORE-16905
2020-06-06 21:58:41 +03:00
Victor Perevertkin
019f21ee1d
[MEDIA][CMAKE] Create add_driver_inf cmake function
...
*.inf files for drivers can now be placed along with the driver code
2020-04-26 20:28:04 +03:00
Eric Kohl
7bef5b882a
[USBSTOR] Add missing compatible device id 5
2020-04-10 13:41:01 +02:00
Victor Perevertkin
e831f8530b
[USBSTOR] Do not print device descriptor by default.
...
Add SrbGetCdb macro
2019-06-25 19:04:20 +03:00
Victor Perevertkin
da1b08e842
[USBSTOR] Properly handle IRP_MN_QUERY_DEVICE_RELATIONS(BusRelations) for FDO.
...
This fixes Driver Verifier warnings
2019-06-11 04:39:43 +03:00
Victor Perevertkin
04409942d6
[USBSTOR] Register dumb IRP_MJ_SYSTEM_CONTROL handler.
...
This satisfies Driver Verifier
2019-06-11 04:39:43 +03:00
Victor Perevertkin
126abaf88f
[USBSTOR] Improve handling of IRP_MN_QUERY_DEVICE_TEXT for PDOs
...
CORE-15883
2019-06-11 04:39:43 +03:00
Victor Perevertkin
40b25634ff
[USBSTOR] Do not leak fields of DeviceExtensions upon device removal
2019-06-11 04:39:43 +03:00
Victor Perevertkin
b7de5870e6
[USBSTOR] Weaken the type checks of a device.
...
This adds usb-cdrom support to usbstor.sys
2019-06-11 04:39:43 +03:00
Victor Perevertkin
7bb93db372
[USBSTOR] Refactor device reset and pipe reset code.
...
Return correct status codes from completion routines.
Reject requests while the device is being reset
2019-06-11 04:39:43 +03:00
Victor Perevertkin
aaa90f6986
[USBSTOR] Do not try to retry a failed request
...
for all cases except receiving a USBD_STATUS_STALL_PID status.
This decision should be made by higher-level driver (and classpnp drivers do it)
2019-06-11 04:39:43 +03:00
Victor Perevertkin
c7ed299aaa
[USBSTOR] Issue a SCSI Request Sense after receiving
...
a CSW with failed status. CORE-15884
Based on Vadim Galyant's patches to usbstor
2019-06-11 04:39:43 +03:00
Victor Perevertkin
5046f1b3fa
[USBSTOR] Keep CBW and CSW inside an IRP context.
...
Remove obsolete fields from the IRP context structure.
2019-06-11 04:39:43 +03:00
Victor Perevertkin
c452f7dab4
[USBSTOR] Refactor request issue code.
...
Pipe handle selection now made more correctly.
Simplified an MDL allocation for a request.
2019-06-11 04:39:43 +03:00
Victor Perevertkin
84f78cb0d7
[USBSTOR] Better handle CBW/CSW transfer errors
...
and set SrbStatus correctly.
2019-06-11 04:39:43 +03:00
Victor Perevertkin
3faf5efd49
[USBSTOR] Better validate SCSI IRPs.
...
Patch by Vadim Galyant
2019-06-11 04:39:43 +03:00
Victor Perevertkin
f3fd12b9be
[USBSTOR] Rework the routines for sending internal SCSI requests.
...
Now for each request SenseBuffer is correctly set
and 3 attempts are made to be sure the STALL state is cleared and
the error is in something else.
Remove the usage of UFI_INQUIRY_DATA structure in favor of "standard"
INQUIRYDATA structure from scsi.h
Based in Vadim Galyant's patches to usbstor
2019-06-11 04:39:43 +03:00
Victor Perevertkin
ed6724cd7e
[USBSTOR] Do not create a new Irp for USB requests - use the original one
...
from higher-level driver instead.
Refactored CSWCompletionRoutine for correct handling different CSW
statuses, more work to be done here.
2019-06-11 04:39:43 +03:00
Victor Perevertkin
b4c03399ba
[USBSTOR] Do not attempt additional processing of SCSI requests.
...
Now the driver sends all requests transparently.
Inspired by Vadim Galyant's patches to usbstor
2019-06-11 04:39:43 +03:00
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
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
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
Timo Kreuzer
9e066abe2a
[DRIVERS] Fix 64 bit issues
2018-08-04 19:19:34 +02:00
Colin Finck
c2c66aff7d
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.
2017-10-03 07:45:34 +00:00