usb: gadget: fix MIDI gadget jack allocation
authorDaniel Mack <zonque@gmail.com>
Sat, 15 Oct 2011 11:45:05 +0000 (13:45 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 14 Nov 2011 19:51:25 +0000 (11:51 -0800)
commit74203de067ae5c71526168b597088022836e31d3
treedd60379860dee7513136ce018e4d04270190331c
parentce7b6121851c72d661134d113a78161095e0ae73
usb: gadget: fix MIDI gadget jack allocation

The dynamic jack allocation of the MIDI gadget currently links all
external jacks to one single instance of an embedded jack. According to
the spec, this is only valid if these streams always carry the same data
stream, as described in the USB MIDI 1.0 spec, chapter 3.3.1.

Also, genius Windows 7(tm) terminates it's life cycle instantly with a
blue screen of death once a device with more than one input and output
port with the current implementation is connected.

While at it, and because it grew again by this change, allocate the
temporary function pointer list on the heap, not on the stack.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/gadget/f_midi.c