Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=490cbd92ed4d9915b582f4e40c605eeb977e5d40
Commit:     490cbd92ed4d9915b582f4e40c605eeb977e5d40
Parent:     d05cc104320210e1c38ff9675c5038cffb2d86dc
Author:     Clemens Ladisch <[EMAIL PROTECTED]>
AuthorDate: Mon May 7 09:29:32 2007 +0200
Committer:  Jaroslav Kysela <[EMAIL PROTECTED]>
CommitDate: Fri May 11 16:56:17 2007 +0200

    [ALSA] usb-audio: work around wrong wMaxPacketSize on ESI M4U
    
    Add a workaround for the ESI M4U that claims to support 32-byte packets
    but ignores the remaining bytes of packets bigger than four bytes.
    
    Signed-off-by: Clemens Ladisch <[EMAIL PROTECTED]>
    Signed-off-by: Jaroslav Kysela <[EMAIL PROTECTED]>
---
 sound/usb/usbmidi.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c
index 911f448..99295f9 100644
--- a/sound/usb/usbmidi.c
+++ b/sound/usb/usbmidi.c
@@ -965,7 +965,11 @@ static int snd_usbmidi_out_endpoint_create(struct 
snd_usb_midi* umidi,
        }
        /* we never use interrupt output pipes */
        pipe = usb_sndbulkpipe(umidi->chip->dev, ep_info->out_ep);
-       ep->max_transfer = usb_maxpacket(umidi->chip->dev, pipe, 1);
+       if (umidi->chip->usb_id == USB_ID(0x0a92, 0x1020)) /* ESI M4U */
+               /* FIXME: we need more URBs to get reasonable bandwidth here: */
+               ep->max_transfer = 4;
+       else
+               ep->max_transfer = usb_maxpacket(umidi->chip->dev, pipe, 1);
        buffer = usb_buffer_alloc(umidi->chip->dev, ep->max_transfer,
                                  GFP_KERNEL, &ep->urb->transfer_dma);
        if (!buffer) {
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to