Second try (probably since I didn't correctly follow all the rules before, thanks for the timely discussion). The Maestro 2E on my laptop, which worked on 2.2 kernels, stopped working on 2.4.0. Where stopped working means no sound and "pauses" when interacting with the driver. The symptom was hundreds of: maestro: APU register select failed. messages (there were other messages, but they were difficult to find in all the noise) when the driver was loaded and a few hundred more if anybody attempted to talk to the device. maestro.c had not changed significantly since 2.2 (certainly not anywhere close to the code emitting these messages). lspci showed that the device was "[disabled]". Quick comparison against other drivers showed that maestro.c was missing a call to pci_enable_device(). Attached (well, inlined, really) is a patch that adds that call plus some teardown logic in the event of failure. By way of full disclosure, I have previously sent out this patch to lkml and the maestro-users list. Zach has added it to what sounds like a huge list but not explicitly blessed it (which is understandable since I didn't really provide any of the above information in said posting). Thanks. ===== maestro.c 1.12 vs 1.13 ===== --- 1.12/drivers/sound/maestro.c Sat Nov 11 13:33:13 2000 +++ 1.13/drivers/sound/maestro.c Mon Nov 20 10:19:38 2000 @@ -3392,6 +3392,19 @@ ess = &card->channels[0]; + if (pci_enable_device(pcidev)) { + printk (KERN_ERR "maestro: pci_enable_device() failed\n"); + for (i = 0; i < NR_DSPS; i++) { + struct ess_state *s = &card->channels[i]; + if (s->dev_audio != -1) + unregister_sound_dsp(s->dev_audio); + } + release_region(card->iobase, 256); + unregister_reboot_notifier(&maestro_nb); + kfree(card); + return 0; + } + /* * Ok card ready. Begin setup proper */ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/