Commit graph

20 commits

Author SHA1 Message Date
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