Commit 516a4201 authored by Andreas Herrmann's avatar Andreas Herrmann Committed by James Bottomley

[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: default avatarAndreas Herrmann <aherrman@de.ibm.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 65a8d4e1
...@@ -3931,19 +3931,16 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -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, debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_sq_ltest"); "fsf_sq_ltest");
zfcp_test_link(unit->port); zfcp_test_link(unit->port);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED:
/* FIXME(hw) need proper specs for proper action */ /* FIXME(hw) need proper specs for proper action */
/* let scsi stack deal with retries and escalation */ /* let scsi stack deal with retries and escalation */
debug_text_event(fsf_req->adapter->erp_dbf, 1, debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_sq_ulp"); "fsf_sq_ulp");
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
default: default:
/* FIXME: shall we consider this a successful transfer? */
ZFCP_LOG_NORMAL ZFCP_LOG_NORMAL
("bug: Wrong status qualifier 0x%x arrived.\n", ("Unknown status qualifier 0x%x arrived.\n",
header->fsf_status_qual.word[0]); header->fsf_status_qual.word[0]);
debug_text_event(fsf_req->adapter->erp_dbf, 0, debug_text_event(fsf_req->adapter->erp_dbf, 0,
"fsf_sq_inval:"); "fsf_sq_inval:");
...@@ -3952,6 +3949,7 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3952,6 +3949,7 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
sizeof(u32)); sizeof(u32));
break; break;
} }
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
case FSF_GOOD: case FSF_GOOD:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment