diff options
author | Vasu Dev <vasu.dev@intel.com> | 2010-10-08 17:12:15 -0700 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-10-25 15:11:31 -0500 |
commit | 75eee7252466342e0dfa6675106bcd3955090f67 (patch) | |
tree | 425b0946272f0c5207ad8b02ceba17b942ea9068 /drivers/scsi/libfc/fc_fcp.c | |
parent | 73b4376477672a4336cba5f26ede2e277511ce70 (diff) | |
download | linux-75eee7252466342e0dfa6675106bcd3955090f67.tar.gz linux-75eee7252466342e0dfa6675106bcd3955090f67.tar.bz2 linux-75eee7252466342e0dfa6675106bcd3955090f67.zip |
[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: Vasu Dev <vasu.dev@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/libfc/fc_fcp.c')
-rw-r--r-- | drivers/scsi/libfc/fc_fcp.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c index c797f6b48f05..43866e6d0bf2 100644 --- a/drivers/scsi/libfc/fc_fcp.c +++ b/drivers/scsi/libfc/fc_fcp.c @@ -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); |