lkml.org 
[lkml]   [2011]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v3 2/3] usb: gadget: file_storage: Make CD-ROM emulation work with Mac OS-X
Date
From
On Tue, 05 Apr 2011 16:59:28 +0200, Roger Quadros  
<roger.quadros@nokia.com> wrote:
> --- a/drivers/usb/gadget/file_storage.c
> +++ b/drivers/usb/gadget/file_storage.c
> @@ -1703,18 +1705,21 @@ static int do_read_toc(struct fsg_dev *fsg,
> struct fsg_buffhd *bh)
> return -EINVAL;
> }
> - memset(buf, 0, 20);
> - buf[1] = (20-2); /* TOC data length */
> - buf[2] = 1; /* First track number */
> - buf[3] = 1; /* Last track number */
> - buf[5] = 0x16; /* Data track, copying allowed */
> - buf[6] = 0x01; /* Only track is number 1 */
> - store_cdrom_address(&buf[8], msf, 0);
> + format = fsg->cmnd[2] & 0xf;
> + /*
> + * Check if CDB is old style SFF-8020i
> + * i.e. format is in 2 MSBs of byte 9
> + * Mac OS-X host sends us this.
> + */
> + if (format == 0)
> + format = (fsg->cmnd[9] >> 6) & 0x3;
> - buf[13] = 0x16; /* Lead-out track is data */
> - buf[14] = 0xAA; /* Lead-out track number */
> - store_cdrom_address(&buf[16], msf, curlun->num_sectors);
> - return 20;
> + ret = fsg_get_toc(curlun, msf, format, buf);
> + if (ret < 0) {
> + curlun->sense_data = SS_INVALID_FIELD_IN_CDB;
> + return -EINVAL;
> + }

I'd drop the “return -EINVAL;” and let “return ret;” below handle it.
This obviously also apply to patch to f_mass_storage.c (BTW. I would
merge the two patches).

> + return ret;
> }

--
Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o
..o | Computer Science, Michal "mina86" Nazarewicz (o o)
ooo +-----<email/xmpp: mnazarewicz@google.com>-----ooO--(_)--Ooo--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2011-04-05 17:49    [W:0.083 / U:0.216 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site