Prev: [patch 026/123] Staging: wlan-ng: Add select WEXT_PRIV to Kconfig to prevent build failure
Next: [patch 064/123] hwmon: (tmp421) Restore missing inputs
From: Greg KH on 12 Mar 2010 20:30 2.6.33-stable review patch. If anyone has any objections, please let me know. ----------------- From: Clemens Ladisch <clemens(a)ladisch.de> commit f167e1d073278fe231bbdd5d6c24fb9d091aa544 upstream. Extend the list of devices whose firmware does not expect more than one USB MIDI packet in one USB packet. bug report: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3752 Signed-off-by: Clemens Ladisch <clemens(a)ladisch.de> Signed-off-by: Jaroslav Kysela <perex(a)perex.cz> Signed-off-by: Greg Kroah-Hartman <gregkh(a)suse.de> --- sound/usb/usbmidi.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) --- a/sound/usb/usbmidi.c +++ b/sound/usb/usbmidi.c @@ -1162,10 +1162,22 @@ static int snd_usbmidi_out_endpoint_crea pipe = usb_sndintpipe(umidi->dev, ep_info->out_ep); else pipe = usb_sndbulkpipe(umidi->dev, ep_info->out_ep); - if (umidi->usb_id == USB_ID(0x0a92, 0x1020)) /* ESI M4U */ - ep->max_transfer = 4; - else + switch (umidi->usb_id) { + default: ep->max_transfer = usb_maxpacket(umidi->dev, pipe, 1); + break; + /* + * Various chips declare a packet size larger than 4 bytes, but + * do not actually work with larger packets: + */ + case USB_ID(0x0a92, 0x1020): /* ESI M4U */ + case USB_ID(0x1430, 0x474b): /* RedOctane GH MIDI INTERFACE */ + case USB_ID(0x15ca, 0x0101): /* Textech USB Midi Cable */ + case USB_ID(0x15ca, 0x1806): /* Textech USB Midi Cable */ + case USB_ID(0x1a86, 0x752d): /* QinHeng CH345 "USB2.0-MIDI" */ + ep->max_transfer = 4; + break; + } for (i = 0; i < OUTPUT_URBS; ++i) { buffer = usb_buffer_alloc(umidi->dev, ep->max_transfer, GFP_KERNEL, -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |