[ALSA] hda-codec - Verbose proc output for PCM parameters
[safe/jmp/linux-2.6] / sound / usb / usbaudio.c
index a42acf6..3d7f36f 100644 (file)
@@ -653,7 +653,7 @@ static struct snd_urb_ops audio_urb_ops_high_speed[2] = {
 /*
  * complete callback from data urb
  */
-static void snd_complete_urb(struct urb *urb, struct pt_regs *regs)
+static void snd_complete_urb(struct urb *urb)
 {
        struct snd_urb_ctx *ctx = (struct snd_urb_ctx *)urb->context;
        struct snd_usb_substream *subs = ctx->subs;
@@ -676,7 +676,7 @@ static void snd_complete_urb(struct urb *urb, struct pt_regs *regs)
 /*
  * complete callback from sync urb
  */
-static void snd_complete_sync_urb(struct urb *urb, struct pt_regs *regs)
+static void snd_complete_sync_urb(struct urb *urb)
 {
        struct snd_urb_ctx *ctx = (struct snd_urb_ctx *)urb->context;
        struct snd_usb_substream *subs = ctx->subs;
@@ -1469,7 +1469,8 @@ static int snd_usb_hw_free(struct snd_pcm_substream *substream)
        subs->cur_audiofmt = NULL;
        subs->cur_rate = 0;
        subs->period_bytes = 0;
-       release_substream_urbs(subs, 0);
+       if (!subs->stream->chip->shutdown)
+               release_substream_urbs(subs, 0);
        return snd_pcm_free_vmalloc_buffer(substream);
 }
 
@@ -3576,8 +3577,7 @@ static int __init snd_usb_audio_init(void)
                printk(KERN_WARNING "invalid nrpacks value.\n");
                return -EINVAL;
        }
-       usb_register(&usb_audio_driver);
-       return 0;
+       return usb_register(&usb_audio_driver);
 }