9 Jan
2015
9 Jan
'15
1:46 a.m.
On 01/08/2015 03:56 PM, Clemens Ladisch wrote:
Paul Bonser wrote:
The Akai MPC Element incorrectly reports its bInterfaceClass as 255, but otherwise implements the USB MIDI spec correctly.
This adds a quirks-table.h entry which allows the device to be recognized as a standard USB MIDI device.
Signed-off-by: Paul Bonser misterpib@gmail.com
diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h index 8590a32..e869b6c 100644 --- a/sound/usb/quirks-table.h +++ b/sound/usb/quirks-table.h @@ -2516,6 +2516,28 @@ YAMAHA_DEVICE(0x7010, "UB99"), } },
+{
- /* Akai MPC Element */
- USB_DEVICE(0x09e8, 0x0021),
- .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
.ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_COMPOSITE,
.data = & (const struct snd_usb_audio_quirk[]) {
{
.ifnum = 0,
.type = QUIRK_IGNORE_INTERFACE
},
{
.ifnum = 1,
.type = QUIRK_MIDI_STANDARD_INTERFACE
},
{
.ifnum = -1
}
}
- }
+},
Why a composite quirk? Does a single quirk entry not work?
A single quirk entry results in an error message in dmesg: "snd-usb-audio: probe of 3-2:1.0 failed with error -5"
Adding the QUIRK_IGNORE_INTERFACE stops that.
Regards, Clemens