Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75eee725 authored by Vasu Dev's avatar Vasu Dev Committed by James Bottomley
Browse files

[SCSI] libfc: use DID_TRANSPORT_DISRUPTED while lport not ready

This is per Mile Christie feedback since in this case IO
could get retried for tape devices and therefore DID_REQUEUE
cannot be used, more details in this thread.

http://marc.info/?l=linux-scsi&m=127970522630136&w=2



Signed-off-by: default avatarVasu Dev <vasu.dev@intel.com>
Signed-off-by: default avatarRobert Love <robert.w.love@intel.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent 73b43764
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -1971,10 +1971,8 @@ static void fc_io_compl(struct fc_fcp_pkt *fsp)
		break;
	}

	if (lport->state != LPORT_ST_READY && fsp->status_code != FC_COMPLETE) {
		sc_cmd->result = (DID_REQUEUE << 16);
		FC_FCP_DBG(fsp, "Returning DID_REQUEUE to scsi-ml\n");
	}
	if (lport->state != LPORT_ST_READY && fsp->status_code != FC_COMPLETE)
		sc_cmd->result = (DID_TRANSPORT_DISRUPTED << 16);

	spin_lock_irqsave(&si->scsi_queue_lock, flags);
	list_del(&fsp->list);