| .. | .. |
|---|
| 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 | +} |
|---|