diff options
author | Jaroslav Kysela <perex@suse.cz> | 2005-01-03 11:19:11 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2005-01-03 11:19:11 +0100 |
commit | c89929238b2ab14ae162c8de6849589c8d50c33d (patch) | |
tree | 141162cbc1f60d13b25d03c488021e82d47fdd42 /sound | |
parent | d392f6361a9a5993bb168f768f62c4381e4ecc0b (diff) | |
download | history-c89929238b2ab14ae162c8de6849589c8d50c33d.tar.gz |
[ALSA] disable legacy IRQs before request_irq() to avoid unhandled interrupts
VIA82xx driver
Signed-off-by: Christian Koerner <ckoerner@sysgo.com>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/via82xx.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c index 56727ae9676008..5e30ae3e44a976 100644 --- a/sound/pci/via82xx.c +++ b/sound/pci/via82xx.c @@ -1635,8 +1635,6 @@ static int snd_via8233_init_misc(via82xx_t *chip, int dev) int i, err, caps; unsigned char val; - pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, - chip->old_legacy & ~(VIA_FUNC_ENABLE_SB|VIA_FUNC_ENABLE_FM)); caps = chip->chip_type == TYPE_VIA8233A ? 1 : 2; for (i = 0; i < caps; i++) { snd_via8233_capture_source.index = i; @@ -1673,7 +1671,6 @@ static int snd_via686_init_misc(via82xx_t *chip, int dev) legacy_cfg = chip->old_legacy_cfg; legacy |= VIA_FUNC_MIDI_IRQMASK; /* FIXME: correct? (disable MIDI) */ legacy &= ~VIA_FUNC_ENABLE_GAME; /* disable joystick */ - legacy &= ~(VIA_FUNC_ENABLE_SB|VIA_FUNC_ENABLE_FM); /* diable SB & FM */ if (chip->revision >= VIA_REV_686_H) { rev_h = 1; if (mpu_port[dev] >= 0x200) { /* force MIDI */ @@ -2025,6 +2022,8 @@ static int __devinit snd_via82xx_create(snd_card_t * card, pci_read_config_byte(pci, VIA_FUNC_ENABLE, &chip->old_legacy); pci_read_config_byte(pci, VIA_PNP_CONTROL, &chip->old_legacy_cfg); + pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, + chip->old_legacy & ~(VIA_FUNC_ENABLE_SB|VIA_FUNC_ENABLE_FM)); if ((err = pci_request_regions(pci, card->driver)) < 0) { kfree(chip); |