diff options
author | Andreas Herrmann <aherrman@de.ibm.com> | 2005-06-13 13:17:44 +0200 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-06-14 04:29:14 +0200 |
commit | 516a4201bacfd61ea957039d6f47276ee9c32a0d (patch) | |
tree | 2cd30258cf21fd3f2fa115d4f8becac8a2b78a55 /drivers/s390/scsi | |
parent | [SCSI] zfcp: fix: reopen port only if link-test fails (diff) | |
download | linux-516a4201bacfd61ea957039d6f47276ee9c32a0d.tar.xz linux-516a4201bacfd61ea957039d6f47276ee9c32a0d.zip |
[SCSI] zfcp: fix: mark fsf request failed when receiving unknown status qualifier
From: Maxim Shchetynin <maxim@de.ibm.com>
Correct a bug in zfcp_fsf_send_fcp_command_handler. An fsf request
was not marked as failed if an unknown status qualifier was returned.
Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/s390/scsi')
-rw-r--r-- | drivers/s390/scsi/zfcp_fsf.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/s390/scsi/zfcp_fsf.c b/drivers/s390/scsi/zfcp_fsf.c index 225e3631e8d2..bf66fc6d8a97 100644 --- a/drivers/s390/scsi/zfcp_fsf.c +++ b/drivers/s390/scsi/zfcp_fsf.c @@ -3931,19 +3931,16 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) debug_text_event(fsf_req->adapter->erp_dbf, 1, "fsf_sq_ltest"); zfcp_test_link(unit->port); - fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; break; case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: /* FIXME(hw) need proper specs for proper action */ /* let scsi stack deal with retries and escalation */ debug_text_event(fsf_req->adapter->erp_dbf, 1, "fsf_sq_ulp"); - fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; break; default: - /* FIXME: shall we consider this a successful transfer? */ ZFCP_LOG_NORMAL - ("bug: Wrong status qualifier 0x%x arrived.\n", + ("Unknown status qualifier 0x%x arrived.\n", header->fsf_status_qual.word[0]); debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf_sq_inval:"); @@ -3952,6 +3949,7 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) sizeof(u32)); break; } + fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; break; case FSF_GOOD: |