Hi Seokmann Haruo> The race issue seem to be in latest megaraid_mbox 2.20.4.5. Haruo> I think that I make adapter->quiescent illegal by megaraid_isr() and Haruo> megaraid_mbox_mm_done(). I think that patch is almost OK. It works with Express5800(4way) without trouble. Strictly, it is necessary to be likely to lock to adapter->quiescent. In addition, I have changed access of outstanding_cmds to atomic access. (See attached file : linux-2.6.12-rc1-megaraid-outstanding_cmds-atomic.patch) The patching order is: - linux-2.6.12-rc1-megaraid-isr-quiescent-race-fix.patch - linux-2.6.12-rc1-megaraid-outstanding_cmds-atomic.patch Seokmann> Can you please provide where the driver hung? Interrupt doesn't enter. I think that it repeatedly executes megaraid_isr(). I am using KDB, it can specify driver's place with the NMI switch when hang up. I continue the driver's debugging further. Thanks -- Haruo
linux-2.6.12-rc1-megaraid-outstanding_cmds-atomic.patch
Description: linux-2.6.12-rc1-megaraid-outstanding_cmds-atomic.patch