Skip to content

Commit

Permalink
[ALSA] ad1816a: Fix modprobe snd_mpu401 && modprobe snd_ad1816a
Browse files Browse the repository at this point in the history
   The ad1816a driver fails if the mpu401 driver has been loaded first. This
patch against linux 2.6.20 fixes it by just ignoring the MPU-401 device in
that case, so that the rest of the sound card can be used. The ad1816a
driver already handles the MPU-401 device being unavailable due to lack of
resources in the same way.

Signed-off-by: Rask Ingemann Lambertsen <rask@sygehus.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
  • Loading branch information
Rask Ingemann Lambertsen authored and Jaroslav Kysela committed May 11, 2007
1 parent 1b60f6b commit 2944275
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions sound/isa/ad1816a/ad1816a.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,8 @@ static int __devinit snd_card_ad1816a_pnp(int dev, struct snd_card_ad1816a *acar
}
acard->devmpu = pnp_request_card_device(card, id->devs[1].id, NULL);
if (acard->devmpu == NULL) {
kfree(cfg);
return -EBUSY;
mpu_port[dev] = -1;
snd_printk(KERN_WARNING PFX "MPU401 device busy, skipping.\n");
}

pdev = acard->dev;
Expand Down Expand Up @@ -162,6 +162,10 @@ static int __devinit snd_card_ad1816a_pnp(int dev, struct snd_card_ad1816a *acar
dma2[dev] = pnp_dma(pdev, 1);
irq[dev] = pnp_irq(pdev, 0);

if (acard->devmpu == NULL) {
kfree(cfg);
return 0;
}
pdev = acard->devmpu;
pnp_init_resource_table(cfg);

Expand Down

0 comments on commit 2944275

Please sign in to comment.