mpt2sas: Fix secure erase premature termination
authorAndrey Grodzovsky <andrey2805@gmail.com>
Thu, 17 Nov 2016 01:15:08 +0000 (20:15 -0500)
committerDanny Wood <danwood76@gmail.com>
Tue, 29 Jan 2019 13:14:46 +0000 (13:14 +0000)
commitb5e76740a4b884d5692464de9d66c56d77f7a619
treebb939dfd182e06bd261df2b5998700fca6ed6a8c
parentef632c8bfba4fca7f76c2491dc99c0643d27ca20
mpt2sas: Fix secure erase premature termination

Problem:
This is a work around for a bug with LSI Fusion MPT SAS2 when
pefroming secure erase. Due to the very long time the operation
takes commands issued during the erase will time out and will trigger
execution of abort hook. Even though the abort hook is called for
the specific command which timed out this leads to entire device halt
(scsi_state terminated) and premature termination of the secured erase.

Fix:
Set device state to busy while erase in progress to reject any incoming
commands until the erase is done. The device is blocked any way during
this time and cannot execute any other command.
More data and logs can be found here -
https://drive.google.com/file/d/0B9ocOHYHbbS1Q3VMdkkzeWFkTjg/view

P.S
This is a backport from the same fix for mpt3sas driver intended
for pre-4.4 stable trees.

Signed-off-by: Andrey Grodzovsky <andrey2805@gmail.com>
Cc: Sreekanth Reddy <Sreekanth.Reddy@broadcom.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: PDL-MPT-FUSIONLINUX <MPT-FusionLinux.pdl@broadcom.com>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/scsi/mpt2sas/mpt2sas_scsih.c