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 <mister...@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
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to