]> git.baikalelectronics.ru Git - kernel.git/commit
[SCSI] megaraid_sas: Add Online Controller Reset to MegaRAID SAS drive
authorbo yang <boyang1288@gmail.com>
Thu, 23 Sep 2010 02:36:29 +0000 (22:36 -0400)
committerJames Bottomley <James.Bottomley@suse.de>
Thu, 7 Oct 2010 22:33:09 +0000 (17:33 -0500)
commitc454453afd7b27010ab4d14aed847169419d50fb
tree1a4f526e4de45b56408e03f353d584cbd8c1ab37
parentaf9a1a6298145c0a73723766d4d6def20cd4d29f
[SCSI] megaraid_sas: Add Online Controller Reset to MegaRAID SAS drive

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@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/megaraid/megaraid_sas.c
drivers/scsi/megaraid/megaraid_sas.h