diff options
| -rw-r--r-- | drivers/scsi/device_handler/scsi_dh_alua.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c index e99507ed0e3c..fd78bdc53528 100644 --- a/drivers/scsi/device_handler/scsi_dh_alua.c +++ b/drivers/scsi/device_handler/scsi_dh_alua.c | |||
| @@ -474,6 +474,13 @@ static int alua_check_sense(struct scsi_device *sdev, | |||
| 474 | * LUN Not Ready -- Offline | 474 | * LUN Not Ready -- Offline |
| 475 | */ | 475 | */ |
| 476 | return SUCCESS; | 476 | return SUCCESS; |
| 477 | if (sdev->allow_restart && | ||
| 478 | sense_hdr->asc == 0x04 && sense_hdr->ascq == 0x02) | ||
| 479 | /* | ||
| 480 | * if the device is not started, we need to wake | ||
| 481 | * the error handler to start the motor | ||
| 482 | */ | ||
| 483 | return FAILED; | ||
| 477 | break; | 484 | break; |
| 478 | case UNIT_ATTENTION: | 485 | case UNIT_ATTENTION: |
| 479 | if (sense_hdr->asc == 0x29 && sense_hdr->ascq == 0x00) | 486 | if (sense_hdr->asc == 0x29 && sense_hdr->ascq == 0x00) |
