diff options
| author | Ha Thach <[email protected]> | 2026-02-12 10:50:03 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-02-12 10:50:03 +0700 |
| commit | a0982cd5ca5727064520af418915e3d8efb204d3 (patch) | |
| tree | 2d81ef25959360067c18a3e050547080e6557104 /src | |
| parent | 2883403ed010c54c33a38c28358a4dd0c67d67c0 (diff) | |
| parent | 30802a19c99ac8983d893782b380ced6747e6373 (diff) | |
Merge pull request #3471 from hathach/msc_stall
device/msc: skip command stage if EP out is stalled
Diffstat (limited to 'src')
| -rw-r--r-- | src/class/msc/msc_device.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/class/msc/msc_device.c b/src/class/msc/msc_device.c index 15bfafc35..3766e3a25 100644 --- a/src/class/msc/msc_device.c +++ b/src/class/msc/msc_device.c @@ -646,7 +646,11 @@ bool mscd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t break; } - TU_ASSERT(prepare_cbw(p_msc)); + if (!usbd_edpt_stalled(rhport, p_msc->ep_out)) { + TU_ASSERT(prepare_cbw(p_msc)); + } else { + p_msc->stage = MSC_STAGE_CMD; + } } else { // Any xfer ended here is considered unknown error, ignore it TU_LOG1(" Warning expect SCSI Status but received unknown data\r\n"); |
