mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 19:00:25 +00:00
scsi: megaraid_sas: Use DID_REQUEUE
Moving to use DID_REQUEUE return type for reliable unconditional retries. Driver wants unconditional re-queue, so replace DID_RESET with DID_REQUEUE Discussed below - https://www.spinics.net/lists/linux-scsi/msg102848.html Signed-off-by: Shivasharan S <shivasharan.srikanteshwara@broadcom.com> Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
ed981b81fa
commit
f55cf47d92
2 changed files with 3 additions and 3 deletions
|
@ -1668,7 +1668,7 @@ megasas_queue_command(struct Scsi_Host *shost, struct scsi_cmnd *scmd)
|
||||||
/* Check for an mpio path and adjust behavior */
|
/* Check for an mpio path and adjust behavior */
|
||||||
if (atomic_read(&instance->adprecovery) == MEGASAS_ADPRESET_SM_INFAULT) {
|
if (atomic_read(&instance->adprecovery) == MEGASAS_ADPRESET_SM_INFAULT) {
|
||||||
if (megasas_check_mpio_paths(instance, scmd) ==
|
if (megasas_check_mpio_paths(instance, scmd) ==
|
||||||
(DID_RESET << 16)) {
|
(DID_REQUEUE << 16)) {
|
||||||
return SCSI_MLQUEUE_HOST_BUSY;
|
return SCSI_MLQUEUE_HOST_BUSY;
|
||||||
} else {
|
} else {
|
||||||
scmd->result = DID_NO_CONNECT << 16;
|
scmd->result = DID_NO_CONNECT << 16;
|
||||||
|
@ -2492,7 +2492,7 @@ static int megasas_wait_for_outstanding(struct megasas_instance *instance)
|
||||||
struct megasas_cmd, list);
|
struct megasas_cmd, list);
|
||||||
list_del_init(&reset_cmd->list);
|
list_del_init(&reset_cmd->list);
|
||||||
if (reset_cmd->scmd) {
|
if (reset_cmd->scmd) {
|
||||||
reset_cmd->scmd->result = DID_RESET << 16;
|
reset_cmd->scmd->result = DID_REQUEUE << 16;
|
||||||
dev_notice(&instance->pdev->dev, "%d:%p reset [%02x]\n",
|
dev_notice(&instance->pdev->dev, "%d:%p reset [%02x]\n",
|
||||||
reset_index, reset_cmd,
|
reset_index, reset_cmd,
|
||||||
reset_cmd->scmd->cmnd[0]);
|
reset_cmd->scmd->cmnd[0]);
|
||||||
|
|
|
@ -3770,7 +3770,7 @@ int megasas_check_mpio_paths(struct megasas_instance *instance,
|
||||||
struct scsi_cmnd *scmd)
|
struct scsi_cmnd *scmd)
|
||||||
{
|
{
|
||||||
struct megasas_instance *peer_instance = NULL;
|
struct megasas_instance *peer_instance = NULL;
|
||||||
int retval = (DID_RESET << 16);
|
int retval = (DID_REQUEUE << 16);
|
||||||
|
|
||||||
if (instance->peerIsPresent) {
|
if (instance->peerIsPresent) {
|
||||||
peer_instance = megasas_get_peer_instance(instance);
|
peer_instance = megasas_get_peer_instance(instance);
|
||||||
|
|
Loading…
Reference in a new issue