[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>
This commit is contained in:
Andreas Herrmann 2005-06-13 13:17:44 +02:00 committed by James Bottomley
parent 65a8d4e1a3
commit 516a4201ba
1 changed files with 2 additions and 4 deletions

View File

@ -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)
sizeof(u32)); sizeof(u32));
break; break;
} }
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
case FSF_GOOD: case FSF_GOOD: