aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/quirks.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/usb/quirks.c')
-rw-r--r--sound/usb/quirks.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index f104c68fe1e0..acc12f004c23 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -306,7 +306,6 @@ int snd_usb_create_quirk(struct snd_usb_audio *chip,
306 [QUIRK_MIDI_YAMAHA] = create_any_midi_quirk, 306 [QUIRK_MIDI_YAMAHA] = create_any_midi_quirk,
307 [QUIRK_MIDI_MIDIMAN] = create_any_midi_quirk, 307 [QUIRK_MIDI_MIDIMAN] = create_any_midi_quirk,
308 [QUIRK_MIDI_NOVATION] = create_any_midi_quirk, 308 [QUIRK_MIDI_NOVATION] = create_any_midi_quirk,
309 [QUIRK_MIDI_MBOX2] = create_any_midi_quirk,
310 [QUIRK_MIDI_RAW_BYTES] = create_any_midi_quirk, 309 [QUIRK_MIDI_RAW_BYTES] = create_any_midi_quirk,
311 [QUIRK_MIDI_EMAGIC] = create_any_midi_quirk, 310 [QUIRK_MIDI_EMAGIC] = create_any_midi_quirk,
312 [QUIRK_MIDI_CME] = create_any_midi_quirk, 311 [QUIRK_MIDI_CME] = create_any_midi_quirk,
@@ -528,11 +527,11 @@ static void mbox2_setup_48_24_magic(struct usb_device *dev)
528#define MBOX2_BOOT_LOADING 0x01 /* Hard coded into the device */ 527#define MBOX2_BOOT_LOADING 0x01 /* Hard coded into the device */
529#define MBOX2_BOOT_READY 0x02 /* Hard coded into the device */ 528#define MBOX2_BOOT_READY 0x02 /* Hard coded into the device */
530 529
531int snd_usb_mbox2_boot_quirk(struct usb_device *dev) 530static int snd_usb_mbox2_boot_quirk(struct usb_device *dev)
532{ 531{
533 struct usb_host_config *config = dev->actconfig; 532 struct usb_host_config *config = dev->actconfig;
534 int err; 533 int err;
535 u8 bootresponse; 534 u8 bootresponse[12];
536 int fwsize; 535 int fwsize;
537 int count; 536 int count;
538 537
@@ -546,20 +545,20 @@ int snd_usb_mbox2_boot_quirk(struct usb_device *dev)
546 snd_printd("usb-audio: Sending Digidesign Mbox 2 boot sequence...\n"); 545 snd_printd("usb-audio: Sending Digidesign Mbox 2 boot sequence...\n");
547 546
548 count = 0; 547 count = 0;
549 bootresponse = MBOX2_BOOT_LOADING; 548 bootresponse[0] = MBOX2_BOOT_LOADING;
550 while ((bootresponse == MBOX2_BOOT_LOADING) && (count < 10)) { 549 while ((bootresponse[0] == MBOX2_BOOT_LOADING) && (count < 10)) {
551 msleep(500); /* 0.5 second delay */ 550 msleep(500); /* 0.5 second delay */
552 snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), 551 snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0),
553 /* Control magic - load onboard firmware */ 552 /* Control magic - load onboard firmware */
554 0x85, 0xc0, 0x0001, 0x0000, &bootresponse, 0x0012); 553 0x85, 0xc0, 0x0001, 0x0000, &bootresponse, 0x0012);
555 if (bootresponse == MBOX2_BOOT_READY) 554 if (bootresponse[0] == MBOX2_BOOT_READY)
556 break; 555 break;
557 snd_printd("usb-audio: device not ready, resending boot sequence...\n"); 556 snd_printd("usb-audio: device not ready, resending boot sequence...\n");
558 count++; 557 count++;
559 } 558 }
560 559
561 if (bootresponse != MBOX2_BOOT_READY) { 560 if (bootresponse[0] != MBOX2_BOOT_READY) {
562 snd_printk(KERN_ERR "usb-audio: Unknown bootresponse=%d, or timed out, ignoring device.\n", bootresponse); 561 snd_printk(KERN_ERR "usb-audio: Unknown bootresponse=%d, or timed out, ignoring device.\n", bootresponse[0]);
563 return -ENODEV; 562 return -ENODEV;
564 } 563 }
565 564
@@ -660,7 +659,6 @@ static int audiophile_skip_setting_quirk(struct snd_usb_audio *chip,
660 return 0; /* keep this altsetting */ 659 return 0; /* keep this altsetting */
661} 660}
662 661
663
664static int fasttrackpro_skip_setting_quirk(struct snd_usb_audio *chip, 662static int fasttrackpro_skip_setting_quirk(struct snd_usb_audio *chip,
665 int iface, int altno) 663 int iface, int altno)
666{ 664{