aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi
diff options
context:
space:
mode:
authorAndreas Herrmann <aherrman@de.ibm.com>2005-06-13 07:17:44 -0400
committerJames Bottomley <jejb@mulgrave.(none)>2005-06-13 22:29:14 -0400
commit516a4201bacfd61ea957039d6f47276ee9c32a0d (patch)
tree2cd30258cf21fd3f2fa115d4f8becac8a2b78a55 /drivers/s390/scsi
parent65a8d4e1a3754f0bfaa62949ebe919930e3127a1 (diff)
[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.c6
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)
3931 debug_text_event(fsf_req->adapter->erp_dbf, 1, 3931 debug_text_event(fsf_req->adapter->erp_dbf, 1,
3932 "fsf_sq_ltest"); 3932 "fsf_sq_ltest");
3933 zfcp_test_link(unit->port); 3933 zfcp_test_link(unit->port);
3934 fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
3935 break; 3934 break;
3936 case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: 3935 case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED:
3937 /* FIXME(hw) need proper specs for proper action */ 3936 /* FIXME(hw) need proper specs for proper action */
3938 /* let scsi stack deal with retries and escalation */ 3937 /* let scsi stack deal with retries and escalation */
3939 debug_text_event(fsf_req->adapter->erp_dbf, 1, 3938 debug_text_event(fsf_req->adapter->erp_dbf, 1,
3940 "fsf_sq_ulp"); 3939 "fsf_sq_ulp");
3941 fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
3942 break; 3940 break;
3943 default: 3941 default:
3944 /* FIXME: shall we consider this a successful transfer? */
3945 ZFCP_LOG_NORMAL 3942 ZFCP_LOG_NORMAL
3946 ("bug: Wrong status qualifier 0x%x arrived.\n", 3943 ("Unknown status qualifier 0x%x arrived.\n",
3947 header->fsf_status_qual.word[0]); 3944 header->fsf_status_qual.word[0]);
3948 debug_text_event(fsf_req->adapter->erp_dbf, 0, 3945 debug_text_event(fsf_req->adapter->erp_dbf, 0,
3949 "fsf_sq_inval:"); 3946 "fsf_sq_inval:");
@@ -3952,6 +3949,7 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
3952 sizeof(u32)); 3949 sizeof(u32));
3953 break; 3950 break;
3954 } 3951 }
3952 fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
3955 break; 3953 break;
3956 3954
3957 case FSF_GOOD: 3955 case FSF_GOOD: