Messages in this thread |  | | Date | Wed, 10 Jul 1996 00:27:04 +0300 (EET DST) | From | Hannu Savolainen <> | Subject | Re: 2.0.4 Sound oops |
| |
On Tue, 9 Jul 1996 neuron@arn.net wrote:
> I got this oops with 2.0.4 with sound compiled in. The system initializes > the console then tries to init the sound, then dies with this: [snip] There seem to be some initializations which should have been done before installing the interrupt handler.
The following patch should fix the crash.
Best regards,
Hannu ----------------------------- Hannu Savolainen (hannu@voxware.pp.fi, hannu@4front-tech.com) http://personal.eunet.fi/pp/voxware/hannu.html (my home page) http://www.4Front-Tech.com/uss.html (UNIX Sound System (USS)) http://personal.eunet.fi/pp/voxware (USS Lite/TASD/VoxWare) -------- cut here ------------- *** sb_common.c.old Wed Jul 10 00:21:08 1996 --- sb_common.c Wed Jul 10 00:21:27 1996 *************** *** 130,143 **** sb_devc *devc = irq2devc[irq]; - devc->irq_ok = 1; if (devc == NULL || devc->irq != irq) { DEB (printk ("sbintr: Bogus interrupt IRQ%d\n", irq)); return; } if (devc->model == MDL_SB16) { --- 130,143 ---- sb_devc *devc = irq2devc[irq]; if (devc == NULL || devc->irq != irq) { DEB (printk ("sbintr: Bogus interrupt IRQ%d\n", irq)); return; } + devc->irq_ok = 1; + if (devc->model == MDL_SB16) { *************** *** 671,680 **** --- 671,684 ---- devc->dev = num_audiodevs; devc->caps = hw_config->driver_use_1; + irq2devc[hw_config->irq] = devc; + devc->irq_ok = 0; + if (snd_set_irq_handler (hw_config->irq, sbintr, "sound blaster", devc->osp) < 0) { printk ("SB: Can't allocate IRQ%d\n", hw_config->irq); + irq2devc[hw_config->irq] = NULL; return; } *************** *** 696,704 **** DDB (printk ("This is a genuine SB Pro\n")); } } - irq2devc[hw_config->irq] = devc; - devc->irq_ok = 0;
for (n = 0; n < 3 && devc->irq_ok == 0; n++) if (sb_dsp_command (devc, 0xf2)) /* Cause interrupt immediately */ --- 700,705 ----
|  |