diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-01-16 04:09:10 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-16 04:09:10 -0500 |
commit | af2519fb2298cdf7540082c36f4d8c66bbff103f (patch) | |
tree | 1d290d28d42d42f9e693457762c4008988628060 /sound/oss/dmasound/dmasound_q40.c | |
parent | 961d7d0ee5150e0197cc81c2a8884ecb230276e2 (diff) | |
parent | 7cb36b6ccdca03bd87e8faca7fd920643dd1aec7 (diff) |
Merge branch 'linus' into core/iommu
Conflicts:
arch/ia64/include/asm/dma-mapping.h
arch/ia64/include/asm/machvec.h
arch/ia64/include/asm/machvec_sn2.h
Diffstat (limited to 'sound/oss/dmasound/dmasound_q40.c')
-rw-r--r-- | sound/oss/dmasound/dmasound_q40.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/sound/oss/dmasound/dmasound_q40.c b/sound/oss/dmasound/dmasound_q40.c index 1855b14d90c3..99bcb21c2281 100644 --- a/sound/oss/dmasound/dmasound_q40.c +++ b/sound/oss/dmasound/dmasound_q40.c | |||
@@ -371,8 +371,9 @@ static void Q40Free(void *ptr, unsigned int size) | |||
371 | static int __init Q40IrqInit(void) | 371 | static int __init Q40IrqInit(void) |
372 | { | 372 | { |
373 | /* Register interrupt handler. */ | 373 | /* Register interrupt handler. */ |
374 | request_irq(Q40_IRQ_SAMPLE, Q40StereoInterrupt, 0, | 374 | if (request_irq(Q40_IRQ_SAMPLE, Q40StereoInterrupt, 0, |
375 | "DMA sound", Q40Interrupt); | 375 | "DMA sound", Q40Interrupt)) |
376 | return 0; | ||
376 | 377 | ||
377 | return(1); | 378 | return(1); |
378 | } | 379 | } |
@@ -401,6 +402,7 @@ static void Q40PlayNextFrame(int index) | |||
401 | u_char *start; | 402 | u_char *start; |
402 | u_long size; | 403 | u_long size; |
403 | u_char speed; | 404 | u_char speed; |
405 | int error; | ||
404 | 406 | ||
405 | /* used by Q40Play() if all doubts whether there really is something | 407 | /* used by Q40Play() if all doubts whether there really is something |
406 | * to be played are already wiped out. | 408 | * to be played are already wiped out. |
@@ -419,11 +421,13 @@ static void Q40PlayNextFrame(int index) | |||
419 | master_outb( 0,SAMPLE_ENABLE_REG); | 421 | master_outb( 0,SAMPLE_ENABLE_REG); |
420 | free_irq(Q40_IRQ_SAMPLE, Q40Interrupt); | 422 | free_irq(Q40_IRQ_SAMPLE, Q40Interrupt); |
421 | if (dmasound.soft.stereo) | 423 | if (dmasound.soft.stereo) |
422 | request_irq(Q40_IRQ_SAMPLE, Q40StereoInterrupt, 0, | 424 | error = request_irq(Q40_IRQ_SAMPLE, Q40StereoInterrupt, 0, |
423 | "Q40 sound", Q40Interrupt); | 425 | "Q40 sound", Q40Interrupt); |
424 | else | 426 | else |
425 | request_irq(Q40_IRQ_SAMPLE, Q40MonoInterrupt, 0, | 427 | error = request_irq(Q40_IRQ_SAMPLE, Q40MonoInterrupt, 0, |
426 | "Q40 sound", Q40Interrupt); | 428 | "Q40 sound", Q40Interrupt); |
429 | if (error && printk_ratelimit()) | ||
430 | pr_err("Couldn't register sound interrupt\n"); | ||
427 | 431 | ||
428 | master_outb( speed, SAMPLE_RATE_REG); | 432 | master_outb( speed, SAMPLE_RATE_REG); |
429 | master_outb( 1,SAMPLE_CLEAR_REG); | 433 | master_outb( 1,SAMPLE_CLEAR_REG); |