Skip to content

Commit

Permalink
Calculate residue just in case
Browse files Browse the repository at this point in the history
  • Loading branch information
Cacodemon345 committed Dec 17, 2024
1 parent 44605ff commit fa34f06
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/usb/usb_msd.c
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,9 @@ usb_device_msd_handle_data(usb_device_c *device, USBPacket *p)
if (scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].buffer_length == 0 && cur_phase == SCSI_PHASE_DATA_OUT)
scsi_device_command_phase1(&scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun]);
usb_msd->current_csw.bCSWStatus = (scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].phase == SCSI_PHASE_STATUS) ? (scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].status == SCSI_STATUS_CHECK_CONDITION) : 2;
} else {
if (usb_msd->current_cbw.dCBWDataTransferLength >= scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].buffer_length)
usb_msd->current_csw.dCSWDataResidue = usb_msd->current_cbw.dCBWDataTransferLength - scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].buffer_length;
}
break;
}
Expand Down

0 comments on commit fa34f06

Please sign in to comment.