Hi Seokmann,
I thought about the race issue of megaraid_isr() and
megaraid_queue_command().
fuinction : lock name
----------------------
megaraid_mbox_runpendq () : pending_list_lock
megaraid_isr() : no lock
wait_till_fw_ready(): host_lock
megaraid_mbox_mm_done(): no lock
When quiescent was accessed, the pending_list_lock is used.
(See attached file: linux-2.6.12-rc1-megaraid-isr-quiescent-race-more-fix.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
- linux-2.6.12-rc1-megaraid-queuecommand-error-midlayer-retry-fix.patch
- linux-2.6.12-rc1-megaraid-isr-quiescent-race-more-fix.patch
Please check the source.
Now, the verification is being executed with the server of Toshiba.
It is sure to relate to FW about outstanding_cmds.
I want to hear your opinion.
--
Haruo
linux-2.6.12-rc1-megaraid-isr-quiescent-race-more-fix.patch
Description: linux-2.6.12-rc1-megaraid-isr-quiescent-race-more-fix.patch

