linux/sound/isa/cs423x
Christoph Schulz 375389288a [ALSA] cs4236-irq-handling-fix.patch
CS4236+ driver
Background: The card/chipset supports an external MIDI interrupt.  By
default, this interrupt isn't used (because the isapnp mechanism chooses a
configuration without an assigned interrupt).  If the user wishes to
explicitly select an interrupt via the mpu_irq parameter for such a
configured device, it doesn't work: The driver always shows:

isapnp MPU: port=0x330, irq=-1

(note the 'irq=-1')

Problem: The driver only allows to set the irq if pnp_irq_valid returns
true for this particular pnp device.  This, however, is only true if an
interrupt has already been assigned (pnp_valid_irq returns true if the flag
IORESOURCE_IRQ is set and IORESOURCE_UNSET is not set).  If no interrupt
has been assigned so far, IORESOURCE_UNSET is set and pnp_irq_valid returns
false, thereby inhibiting the selection of a valid irq.

Solution: Don't check for a valid (= already assigned) irq at the point of
calling pnp_resource_change.

Tested successfully on Linux 2.6.11.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2005-06-22 12:28:06 +02:00
..
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cs4231.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cs4231_lib.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cs4232.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cs4236.c [ALSA] cs4236-irq-handling-fix.patch 2005-06-22 12:28:06 +02:00
cs4236_lib.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00