Here are some observations... If I change the line "hwif->irq = 0" in my driver to "hwif->irq = 5", my SMP kernel no longer experiences SMP badness. Instead, I get many lines like "hda: lost interrupt", and the drive is not usable. If I compile the kernel without SMP, the drive works properly as before. I tried irq = 5 because I noticed that /proc/interrupts indicated that ide0 was being probed at 5. With the SMP kernel, /proc/interrupts shows a count of 0 for ide0. My non-SMP kernel shows a count that increments when the drive is being used (as expected). Bryan