[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <op.vtg12opj3l0zgt@mnazarewicz-glaptop>
Date: Tue, 05 Apr 2011 17:45:50 +0200
From: "Michal Nazarewicz" <mina86@...a86.com>
To: gregkh@...e.de, "Roger Quadros" <roger.quadros@...ia.com>
Cc: stern@...land.harvard.edu, sshtylyov@...sta.com,
linux-kernel@...r.kernel.org, linux-usb@...r.kernel.org
Subject: Re: [PATCH v3 2/3] usb: gadget: file_storage: Make CD-ROM emulation
work with Mac OS-X
On Tue, 05 Apr 2011 16:59:28 +0200, Roger Quadros
<roger.quadros@...ia.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@...gle.com>-----ooO--(_)--Ooo--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists