This looks familiar, and I think I know where the SMP problem is coming from with the aic7xxx driver now (or at least I have a clue). Make the following modification to the driver and it will either confirm or deny my suspicion:
in the function aic7xxx_isr()
in the if (intstat & BRKADRINT) section of code
change the last printk to a panic instead.
If my suspicion is correct, the first time you write to the drive you won't get an oops anymore, but a panic instead (you may still get some other extraneous garbage if panic on an smp box doesn't stop all processors, but hopefully we can get the info I'm looking for).
Usually the oops you just posted is caused not by the driver in normal operation, but by the driver encountering the BRKADRINT and attempting to reset the bus after all scbs have already been completed. The purpose of the panic is to stop things before the oops so that the BRKADRINT condition is obvious.
-- ***************************************************************************** * Doug Ledford * Unix, Novell, Dos, Windows 3.x, * * dledford@dialnet.net 873-DIAL * WfW, Windows 95 & NT Technician * * PPP access $14.95/month ***************************************** * Springfield, MO and surrounding * Usenet news, e-mail and shell account.* * communities. Sign-up online at * Web page creation and hosting, other * * 873-9000 V.34 * services available, call for info. * *****************************************************************************