7fbf50fabc
usbscsid (P1-B complete):
- zero panic!() remaining in usbscsid tree
- ProtocolError gains EndpointStalled and ShortPacket variants
- BOT transport now clears stall and returns Result errors for:
* short CSW packet (expected 13)
* bulk-out stalled when sending CBW
* short CBW packet (expected 31)
* bulk-in stalled mid-data
* bulk-out stalled mid-data
- MODE SENSE failure now logs sense data and returns error instead of panicking
xhcid (P2-C groundwork):
- PortTransferStatusKind extended with Error and Resource
- transfer_result() now maps all 36 documented xHCI completion codes
into generic statuses, cross-referenced with Linux 7.1
xhci-ring.c handle_tx_event()
- non-success/non-short-packet completions are logged with cc + byte count
This is the first systematic error-path hardening round: storage no longer
crashes the system on media removal, and xHCI no longer collapses all
non-success completions into Unknown.
25 lines
633 B
TOML
25 lines
633 B
TOML
[package]
|
|
name = "usbscsid"
|
|
description = "USB SCSI driver"
|
|
version = "0.1.0"
|
|
authors = ["4lDO2 <4lDO2@protonmail.com>"]
|
|
edition = "2021"
|
|
license = "MIT"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dependencies]
|
|
base64 = "0.11" # Only for debugging
|
|
libredox.workspace = true
|
|
plain.workspace = true
|
|
driver-block = { path = "../driver-block" }
|
|
daemon = { path = "../../../daemon" }
|
|
redox_event.workspace = true
|
|
log.workspace = true
|
|
redox_syscall = { workspace = true, features = ["std"] }
|
|
thiserror.workspace = true
|
|
xhcid = { path = "../../usb/xhcid" }
|
|
|
|
[lints]
|
|
workspace = true
|