]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
USB: mxc: gadget: Fix bitfield for calculating maximum packet size
authorDinh Nguyen <Dinh.Nguyen@freescale.com>
Tue, 4 May 2010 15:03:01 +0000 (10:03 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 5 Jul 2010 18:22:06 +0000 (11:22 -0700)
commit 88e3b59b5adce5b12e205af0e34d518ba0dcdc0c upstream.

The max packet length bit mask used for isochronous endpoints
should be 0x7FF instead of 0x8FF. 0x8FF will actually clear
higher-order bits in the max packet length field.

This patch applies to 2.6.34-rc6.

Signed-off-by: Dinh Nguyen <Dinh.Nguyen@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/gadget/fsl_udc_core.c

index fa3d142ba64d966aa4bf454a4f2a55480970bc4f..08a9a62a39e34910ecbcb3fdb8381c044fa851e4 100644 (file)
@@ -489,7 +489,7 @@ static int fsl_ep_enable(struct usb_ep *_ep,
        case USB_ENDPOINT_XFER_ISOC:
                /* Calculate transactions needed for high bandwidth iso */
                mult = (unsigned char)(1 + ((max >> 11) & 0x03));
-               max = max & 0x8ff;      /* bit 0~10 */
+               max = max & 0x7ff;      /* bit 0~10 */
                /* 3 transactions at most */
                if (mult > 3)
                        goto en_done;