1
0
Fork 0
forked from len0rd/rockbox

MODE SENSE output data length field has to be the length of the response excluding the length field.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16508 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Frank Gevaerts 2008-03-04 00:55:26 +00:00
parent 19815f8197
commit 931ceed47f

View file

@ -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);