summaryrefslogtreecommitdiff
path: root/firmware/usbstack
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/usbstack')
-rw-r--r--firmware/usbstack/usb_storage.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c
index 7e2f40f..f1029c3 100644
--- a/firmware/usbstack/usb_storage.c
+++ b/firmware/usbstack/usb_storage.c
@@ -564,7 +564,7 @@ static void handle_scsi(struct command_block_wrapper* cbw)
logf("scsi mode_sense_10 %d %X",lun,page_code);
switch(page_code) {
case 0x3f:
- tb.mode_sense_data_10->mode_data_length=htobe16(sizeof(struct mode_sense_data_10));
+ tb.mode_sense_data_10->mode_data_length=htobe16(sizeof(struct mode_sense_data_10)-2);
tb.mode_sense_data_10->medium_type=0;
tb.mode_sense_data_10->device_specific=0;
tb.mode_sense_data_10->reserved=0;
@@ -607,7 +607,7 @@ static void handle_scsi(struct command_block_wrapper* cbw)
switch(page_code) {
case 0x3f:
/* All supported pages Since we support only one this is easy*/
- tb.mode_sense_data_6->mode_data_length=sizeof(struct mode_sense_data_6);
+ tb.mode_sense_data_6->mode_data_length=sizeof(struct mode_sense_data_6)-1;
tb.mode_sense_data_6->medium_type=0;
tb.mode_sense_data_6->device_specific=0;
tb.mode_sense_data_6->block_descriptor_length=sizeof(struct mode_sense_block_descriptor_shortlba);