On Fri, 01 Apr 2011 10:38:17 +0200, Felipe Balbi <balbi@xxxxxx> wrote:
we shouldn't assume that value because on SuperSpeed, we have 1024 as wMaxPacketSize. Signed-off-by: Felipe Balbi <balbi@xxxxxx>
--- a/drivers/usb/gadget/file_storage.c +++ b/drivers/usb/gadget/file_storage.c @@ -1249,6 +1249,7 @@ static int do_read(struct fsg_dev *fsg) static int do_write(struct fsg_dev *fsg) { + struct usb_ep *ep = fsg->bulk_out; struct fsg_lun *curlun = fsg->curlun; u32 lba; struct fsg_buffhd *bh; @@ -1331,7 +1332,7 @@ static int do_write(struct fsg_dev *fsg) curlun->info_valid = 1; continue; } - amount -= (amount & 511); + amount -= (amount & (ep->maxpacket - 1)); if (amount == 0) { /* Why were we were asked to transfer a
Could you also make the same change to f_mass_storage.c? In f_mass_storage.c you get fsg object from common->fsg. -- Best regards, _ _ .o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Michal "mina86" Nazarewicz (o o) ooo +-----<email/xmpp: mnazarewicz@xxxxxxxxxx>-----ooO--(_)--Ooo-- -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html