PATCH 1/5] scsi: megaraid_sas - Add Online Controller Reset toMegaRAID SAS drive

From: bo yang
Date: Wed Sep 22 2010 - 22:36:46 EST


This patch is too big. I am using attachment to submit. Please
use attached file to apply. Also let me know if it can't be accepted.

To add the Online controller reset support, driver need to do:
a). reset the controller chips -- Xscale and Gen2 which will change
the function calls and add the reset function related to this two
chips.
b). during the reset, driver will store the pending cmds which not
returned by FW to driver's pending queue. Driver will re-issue those
pending cmds again to FW after the OCR finished.
c). In driver's timeout routine, driver will report to OS as reset.
Also driver's queue routine will block the cmds until the OCR
finished.
d). in Driver's ISR routine, if driver get the FW state as state
change, FW in Failure status and FW support online controller
reset (OCR), driver will start to do the controller reset.
e). In driver's IOCTL routine, the application cmds will wait for the
OCR to finish, then issue the cmds to FW.

Signed-off-by Bo Yang<bo.yang@xxxxxxx>

---
drivers/scsi/megaraid/megaraid_sas.c | 756 ++++++++++++++++++++++++++++++++---
drivers/scsi/megaraid/megaraid_sas.h | 88 +++-
2 files changed, 787 insertions(+), 57 deletions(-)

Attachment: megasas-ocr.patch
Description: Binary data