diff options
author | Mahesh Rajashekhara <mahesh.rajashekhara@microchip.com> | 2021-09-29 02:54:33 +0300 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2021-10-05 07:13:14 +0300 |
commit | 9ee5d6e9ac52a3c8625697535f8e35864d9fd38c (patch) | |
tree | 0e1e399163121be6b02d13822843bc0bc7b039e3 /drivers/scsi/hptiop.c | |
parent | 819225b03dc73294a563d3ee9e24e04c71e7afe0 (diff) | |
download | linux-9ee5d6e9ac52a3c8625697535f8e35864d9fd38c.tar.xz |
scsi: smartpqi: Add controller handshake during kdump
Correct kdump hangs when controller is locked up.
There are occasions when a controller reboot (controller soft reset) is
issued when a controller firmware crash dump is in progress.
This leads to incomplete controller firmware crash dump:
- When the controller crash dump is in progress, and a kdump is initiated,
the driver issues inbound doorbell reset to bring back the controller in
SIS mode.
- If the controller is in locked up state, the inbound doorbell reset does
not work causing controller initialization failures. This results in the
driver hanging waiting for SIS mode.
To avoid an incomplete controller crash dump, add in a controller crash
dump handshake:
- Controller will indicate start and end of the controller crash dump by
setting some register bits.
- Driver will look these bits when a kdump is initiated. If a controller
crash dump is in progress, the driver will wait for the controller crash
dump to complete before issuing the controller soft reset then complete
driver initialization.
Link: https://lore.kernel.org/r/20210928235442.201875-3-don.brace@microchip.com
Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
Reviewed-by: Scott Teel <scott.teel@microchip.com>
Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
Acked-by: John Donnelly <john.p.donnelly@oracle.com>
Signed-off-by: Mahesh Rajashekhara <mahesh.rajashekhara@microchip.com>
Signed-off-by: Don Brace <don.brace@microchip.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/hptiop.c')
0 files changed, 0 insertions, 0 deletions