| From: Mahesh Rajashekhara <mahesh.rajashekhara@microsemi.com> |
| Date: Tue, 17 Apr 2018 17:03:12 +0530 |
| Subject: scsi: sd: Defer spinning up drive while SANITIZE is in progress |
| |
| commit 505aa4b6a8834a2300971c5220c380c3271ebde3 upstream. |
| |
| A drive being sanitized will return NOT READY / ASC 0x4 / ASCQ |
| 0x1b ("LOGICAL UNIT NOT READY. SANITIZE IN PROGRESS"). |
| |
| Prevent spinning up the drive until this condition clears. |
| |
| [mkp: tweaked commit message] |
| |
| Signed-off-by: Mahesh Rajashekhara <mahesh.rajashekhara@microsemi.com> |
| Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/scsi/sd.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/scsi/sd.c |
| +++ b/drivers/scsi/sd.c |
| @@ -1832,6 +1832,8 @@ sd_spinup_disk(struct scsi_disk *sdkp) |
| break; /* standby */ |
| if (sshdr.asc == 4 && sshdr.ascq == 0xc) |
| break; /* unavailable */ |
| + if (sshdr.asc == 4 && sshdr.ascq == 0x1b) |
| + break; /* sanitize in progress */ |
| /* |
| * Issue command to spin up drive when not ready |
| */ |