Hi James,
appearently the lpfc driver is sligtly confused about the meaning
of the 'scmd->tag' value. It should rather inspect the correct
flags to detect the proper SCSI Tag value.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
[EMAIL PROTECTED] +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N�rnberg
GF: Markus Rex, HRB 16746 (AG N�rnberg)
diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
index cd67493..a1cf99a 100644
--- a/drivers/scsi/lpfc/lpfc_scsi.c
+++ b/drivers/scsi/lpfc/lpfc_scsi.c
@@ -693,17 +693,10 @@ 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) {
- case HEAD_OF_QUEUE_TAG:
- fcp_cmnd->fcpCntl1 = HEAD_OF_Q;
- break;
- case ORDERED_QUEUE_TAG:
+ if (scsi_cmnd->device->ordered_tags)
fcp_cmnd->fcpCntl1 = ORDERED_Q;
- break;
- default:
+ else
fcp_cmnd->fcpCntl1 = SIMPLE_Q;
- break;
- }
} else
fcp_cmnd->fcpCntl1 = 0;