.. | .. |
---|
322 | 322 | |
---|
323 | 323 | bool snd_usb_validate_audio_desc(void *p, int protocol) |
---|
324 | 324 | { |
---|
325 | | - return validate_desc(p, protocol, audio_validators); |
---|
| 325 | + unsigned char *c = p; |
---|
| 326 | + bool valid; |
---|
| 327 | + |
---|
| 328 | + valid = validate_desc(p, protocol, audio_validators); |
---|
| 329 | + if (!valid && snd_usb_skip_validation) { |
---|
| 330 | + print_hex_dump(KERN_ERR, "USB-audio: buggy audio desc: ", |
---|
| 331 | + DUMP_PREFIX_NONE, 16, 1, c, c[0], true); |
---|
| 332 | + valid = true; |
---|
| 333 | + } |
---|
| 334 | + return valid; |
---|
326 | 335 | } |
---|
327 | 336 | |
---|
328 | 337 | bool snd_usb_validate_midi_desc(void *p) |
---|
329 | 338 | { |
---|
330 | | - return validate_desc(p, UAC_VERSION_1, midi_validators); |
---|
331 | | -} |
---|
| 339 | + unsigned char *c = p; |
---|
| 340 | + bool valid; |
---|
332 | 341 | |
---|
| 342 | + valid = validate_desc(p, UAC_VERSION_1, midi_validators); |
---|
| 343 | + if (!valid && snd_usb_skip_validation) { |
---|
| 344 | + print_hex_dump(KERN_ERR, "USB-audio: buggy midi desc: ", |
---|
| 345 | + DUMP_PREFIX_NONE, 16, 1, c, c[0], true); |
---|
| 346 | + valid = true; |
---|
| 347 | + } |
---|
| 348 | + return valid; |
---|
| 349 | +} |
---|