Hello again, Overview: This patch cleans up sb_card.c in a big way and provides for handling of multiple pnp cards in one instance of the driver. Its still against 2.3.99pre3 vanilla. I've gziped the patch because it is growing rather large. Alex, I'll wait to diff against your patch until Linus releases a new kernel with it in. Ok, this time no new features, just bug fixes. Gael Queri brought to my attention these things that I missed when merging the various sb_init functions. Cards without a DMA2 should be properly handled now. The only two such beasts I know of are the ALS007 and the Diamond card. If there are others please let me know. Also the resource index for the mpu io is different on ESS and CTL cards, that is handled properly now, too. Some sb compatables reverse the location of dma and dma2 in the isapnp resources, now handled properly. Finally, some cards have a mpu irq. I'm not sure exactly which cards do, I know the CMI card does, and from what Gael said I'm pretty sure the ALS cards do. No clue about the Diamond card, though. And since I don't have such a card I could not test to make sure this code is correct. Please try this one with every sb compatable pnp card you have (all in at the same time, even), and let me know how it goes. BTW, its really late so I hope I didn't overlook something obvious. Thanks again, Paul Laufer