[SCSI] lpfc : Correct queue tag handling
This patch corrects the lpfc tag handling issue identified by Hannes Reinecke http://marc.info/?l=linux-scsi@m=119270235628850&w=2 The basis for this patch originated from Hajime Kai. Thank You Hajime. Signed-off-by: hajime-kai@soft.fujitsu.com Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
parent
c4e1608ef4
commit
7e2b19fbc7
1 changed files with 3 additions and 2 deletions
|
@ -682,6 +682,7 @@ lpfc_scsi_prep_cmnd(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd,
|
|||
IOCB_t *iocb_cmd = &lpfc_cmd->cur_iocbq.iocb;
|
||||
struct lpfc_iocbq *piocbq = &(lpfc_cmd->cur_iocbq);
|
||||
int datadir = scsi_cmnd->sc_data_direction;
|
||||
char tag[2];
|
||||
|
||||
lpfc_cmd->fcp_rsp->rspSnsLen = 0;
|
||||
/* clear task management bits */
|
||||
|
@ -692,8 +693,8 @@ lpfc_scsi_prep_cmnd(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd,
|
|||
|
||||
memcpy(&fcp_cmnd->fcpCdb[0], scsi_cmnd->cmnd, 16);
|
||||
|
||||
if (scsi_cmnd->device->tagged_supported) {
|
||||
switch (scsi_cmnd->tag) {
|
||||
if (scsi_populate_tag_msg(scsi_cmnd, tag)) {
|
||||
switch (tag[0]) {
|
||||
case HEAD_OF_QUEUE_TAG:
|
||||
fcp_cmnd->fcpCntl1 = HEAD_OF_Q;
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue