X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=sound%2Fpci%2Fkorg1212%2Fkorg1212.c;h=bd7c816bf6a7ab71f9fd4d448c5d6d8ce817f98a;hb=b7dd2b349a9fa9e4347780c2bbb41e51484b5bb5;hp=e2e59cae2f6e09ddb1a35968fc6d80d68310d6a3;hpb=f223a9fc3d5707c354588570e2cf1f3abf6b1f84;p=deliverable%2Flinux.git diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c index e2e59cae2f6e..bd7c816bf6a7 100644 --- a/sound/pci/korg1212/korg1212.c +++ b/sound/pci/korg1212/korg1212.c @@ -2340,26 +2340,25 @@ static int __devinit snd_korg1212_create(struct snd_card *card, struct pci_dev * korg1212->AdatTimeCodePhy = korg1212->sharedBufferPhy + offsetof(struct KorgSharedBuffer, AdatTimeCode); +#ifdef CONFIG_SND_KORG1212_FIRMWARE_IN_KERNEL + dsp_code = &static_dsp_code; +#else err = request_firmware(&dsp_code, "korg/k1212.dsp", &pci->dev); if (err < 0) { release_firmware(dsp_code); -#ifdef CONFIG_SND_KORG1212_FIRMWARE_IN_KERNEL - dsp_code = &static_dsp_code; -#else snd_printk(KERN_ERR "firmware not available\n"); snd_korg1212_free(korg1212); return err; -#endif } +#endif if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), dsp_code->size, &korg1212->dma_dsp) < 0) { snd_printk(KERN_ERR "korg1212: cannot allocate dsp code memory (%zd bytes)\n", dsp_code->size); snd_korg1212_free(korg1212); -#ifdef CONFIG_SND_KORG1212_FIRMWARE_IN_KERNEL - if (dsp_code != &static_dsp_code) +#ifndef CONFIG_SND_KORG1212_FIRMWARE_IN_KERNEL + release_firmware(dsp_code); #endif - release_firmware(dsp_code); return -ENOMEM; } @@ -2369,10 +2368,9 @@ static int __devinit snd_korg1212_create(struct snd_card *card, struct pci_dev * memcpy(korg1212->dma_dsp.area, dsp_code->data, dsp_code->size); -#ifdef CONFIG_SND_KORG1212_FIRMWARE_IN_KERNEL - if (dsp_code != &static_dsp_code) +#ifndef CONFIG_SND_KORG1212_FIRMWARE_IN_KERNEL + release_firmware(dsp_code); #endif - release_firmware(dsp_code); rc = snd_korg1212_Send1212Command(korg1212, K1212_DB_RebootCard, 0, 0, 0, 0);