fix: USB mass storage polish
This commit is contained in:
@@ -358,10 +358,10 @@ namespace Drivers::USB::MassStorage {
|
||||
uint8_t cdb[6] = {};
|
||||
cdb[0] = SCSI_TEST_UNIT_READY;
|
||||
|
||||
for (int i = 0; i < 20; i++) {
|
||||
for (int i = 0; i < 5; i++) {
|
||||
if (ScsiCommand(dev, cdb, 6, nullptr, 0, 0, false)) return true;
|
||||
RequestSense(dev);
|
||||
PollWaitMs(100);
|
||||
PollWaitMs(50);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@@ -578,8 +578,8 @@ namespace Drivers::USB::Xhci {
|
||||
}
|
||||
}
|
||||
|
||||
KernelLogStream(WARNING, "xHCI") << "Control transfer timeout on slot " << base::dec << (uint64_t)slotId;
|
||||
|
||||
// Callers already log their own error with request context; the xHCI
|
||||
// layer just returns 0xFF and recovers EP0 so the next transfer works.
|
||||
// Recover EP0 ring: Stop Endpoint, then Set TR Dequeue Pointer
|
||||
// so that subsequent control transfers on this slot still work.
|
||||
TRB stopTrb = {};
|
||||
|
||||
Reference in New Issue
Block a user