aboutsummaryrefslogtreecommitdiffstats
path: root/sound/isa
diff options
context:
space:
mode:
Diffstat (limited to 'sound/isa')
-rw-r--r--sound/isa/cmi8330.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sound/isa/cmi8330.c b/sound/isa/cmi8330.c
index 33e63faf6aa1..f7acb8dac185 100644
--- a/sound/isa/cmi8330.c
+++ b/sound/isa/cmi8330.c
@@ -362,7 +362,7 @@ static int __devinit snd_cmi8330_pnp(int dev, struct snd_cmi8330 *acard,
362 wssport[dev] = pnp_port_start(pdev, 0); 362 wssport[dev] = pnp_port_start(pdev, 0);
363 wssdma[dev] = pnp_dma(pdev, 0); 363 wssdma[dev] = pnp_dma(pdev, 0);
364 wssirq[dev] = pnp_irq(pdev, 0); 364 wssirq[dev] = pnp_irq(pdev, 0);
365 if (acard->type == CMI8330) 365 if (pnp_port_start(pdev, 1))
366 fmport[dev] = pnp_port_start(pdev, 1); 366 fmport[dev] = pnp_port_start(pdev, 1);
367 367
368 /* allocate SB16 resources */ 368 /* allocate SB16 resources */
@@ -377,8 +377,13 @@ static int __devinit snd_cmi8330_pnp(int dev, struct snd_cmi8330 *acard,
377 sbdma8[dev] = pnp_dma(pdev, 0); 377 sbdma8[dev] = pnp_dma(pdev, 0);
378 sbdma16[dev] = pnp_dma(pdev, 1); 378 sbdma16[dev] = pnp_dma(pdev, 1);
379 sbirq[dev] = pnp_irq(pdev, 0); 379 sbirq[dev] = pnp_irq(pdev, 0);
380 if (acard->type == CMI8329) 380 /* On CMI8239, the OPL3 port might be present in SB16 PnP resources */
381 fmport[dev] = pnp_port_start(pdev, 1); 381 if (fmport[dev] == SNDRV_AUTO_PORT) {
382 if (pnp_port_start(pdev, 1))
383 fmport[dev] = pnp_port_start(pdev, 1);
384 else
385 fmport[dev] = 0x388; /* Or hardwired */
386 }
382 387
383 /* allocate MPU-401 resources */ 388 /* allocate MPU-401 resources */
384 pdev = acard->mpu; 389 pdev = acard->mpu;