From 19815f81973306250daa07a8d5d251e25b34f685 Mon Sep 17 00:00:00 2001 From: Frank Gevaerts Date: Tue, 4 Mar 2008 00:46:52 +0000 Subject: fix endianness bug in MODE SENSE 10 response git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16507 a1c6a512-1295-4272-9138-f99709370657 --- firmware/usbstack/usb_storage.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'firmware') diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index b526d7bb6d..7e2f40fb5b 100644 --- a/firmware/usbstack/usb_storage.c +++ b/firmware/usbstack/usb_storage.c @@ -564,12 +564,12 @@ 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=sizeof(struct mode_sense_data_10); + tb.mode_sense_data_10->mode_data_length=htobe16(sizeof(struct mode_sense_data_10)); tb.mode_sense_data_10->medium_type=0; tb.mode_sense_data_10->device_specific=0; tb.mode_sense_data_10->reserved=0; tb.mode_sense_data_10->longlba=1; - tb.mode_sense_data_10->block_descriptor_length=sizeof(struct mode_sense_block_descriptor_longlba); + tb.mode_sense_data_10->block_descriptor_length=htobe16(sizeof(struct mode_sense_block_descriptor_longlba)); memset(tb.mode_sense_data_10->block_descriptor.reserved,0,4); memset(tb.mode_sense_data_10->block_descriptor.number_of_blocks,0,8); tb.mode_sense_data_10->block_descriptor.number_of_blocks[4]=((block_count/block_size_mult) & 0xff000000)>>24; -- cgit v1.2.3