aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_scsi.c
diff options
context:
space:
mode:
authorMartin K. Petersen <martin.petersen@oracle.com>2009-09-18 17:32:59 -0400
committerJames Bottomley <James.Bottomley@suse.de>2009-10-02 10:46:25 -0400
commitc6af404215bab0d333accbb497f835d10cb0050c (patch)
treefc58c360c3d678405b4bd38fd7894af9c8b91edd /drivers/scsi/lpfc/lpfc_scsi.c
parent6e883b0e42739aa560133cfaf41be1138c51a500 (diff)
[SCSI] Deprecate SCSI_PROT_*_CONVERT operations
The checksum format is orthogonal to whether the protection information is being passed on beyond the HBA or not. It is perfectly valid to use a non-T10 CRC with WRITE_STRIP and READ_INSERT. Consequently it no longer makes sense to explicitly refer to the conversion in the protection operation. Update sd_dif and lpfc accordingly. Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Acked-by: Ihab Hamadi <Ihab.Hamadi@Emulex.Com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_scsi.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_scsi.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
index 61d089703806..c88f59f0ce30 100644
--- a/drivers/scsi/lpfc/lpfc_scsi.c
+++ b/drivers/scsi/lpfc/lpfc_scsi.c
@@ -56,8 +56,6 @@ static char *dif_op_str[] = {
56 "SCSI_PROT_WRITE_INSERT", 56 "SCSI_PROT_WRITE_INSERT",
57 "SCSI_PROT_READ_PASS", 57 "SCSI_PROT_READ_PASS",
58 "SCSI_PROT_WRITE_PASS", 58 "SCSI_PROT_WRITE_PASS",
59 "SCSI_PROT_READ_CONVERT",
60 "SCSI_PROT_WRITE_CONVERT"
61}; 59};
62static void 60static void
63lpfc_release_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_scsi_buf *psb); 61lpfc_release_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_scsi_buf *psb);
@@ -1131,13 +1129,11 @@ lpfc_sc_to_sli_prof(struct scsi_cmnd *sc)
1131 ret_prof = LPFC_PROF_A1; 1129 ret_prof = LPFC_PROF_A1;
1132 break; 1130 break;
1133 1131
1134 case SCSI_PROT_READ_CONVERT: 1132 case SCSI_PROT_READ_PASS:
1135 case SCSI_PROT_WRITE_CONVERT: 1133 case SCSI_PROT_WRITE_PASS:
1136 ret_prof = LPFC_PROF_AST1; 1134 ret_prof = LPFC_PROF_AST1;
1137 break; 1135 break;
1138 1136
1139 case SCSI_PROT_READ_PASS:
1140 case SCSI_PROT_WRITE_PASS:
1141 case SCSI_PROT_NORMAL: 1137 case SCSI_PROT_NORMAL:
1142 default: 1138 default:
1143 printk(KERN_ERR "Bad op/guard:%d/%d combination\n", 1139 printk(KERN_ERR "Bad op/guard:%d/%d combination\n",
@@ -1157,8 +1153,6 @@ lpfc_sc_to_sli_prof(struct scsi_cmnd *sc)
1157 ret_prof = LPFC_PROF_C1; 1153 ret_prof = LPFC_PROF_C1;
1158 break; 1154 break;
1159 1155
1160 case SCSI_PROT_READ_CONVERT:
1161 case SCSI_PROT_WRITE_CONVERT:
1162 case SCSI_PROT_READ_INSERT: 1156 case SCSI_PROT_READ_INSERT:
1163 case SCSI_PROT_WRITE_STRIP: 1157 case SCSI_PROT_WRITE_STRIP:
1164 case SCSI_PROT_NORMAL: 1158 case SCSI_PROT_NORMAL:
@@ -1209,8 +1203,7 @@ lpfc_get_cmd_dif_parms(struct scsi_cmnd *sc, uint16_t *apptagmask,
1209 static int cnt; 1203 static int cnt;
1210 1204
1211 if (protcnt && (op == SCSI_PROT_WRITE_STRIP || 1205 if (protcnt && (op == SCSI_PROT_WRITE_STRIP ||
1212 op == SCSI_PROT_WRITE_PASS || 1206 op == SCSI_PROT_WRITE_PASS)) {
1213 op == SCSI_PROT_WRITE_CONVERT)) {
1214 1207
1215 cnt++; 1208 cnt++;
1216 spt = page_address(sg_page(scsi_prot_sglist(sc))) + 1209 spt = page_address(sg_page(scsi_prot_sglist(sc))) +
@@ -1501,8 +1494,6 @@ lpfc_prot_group_type(struct lpfc_hba *phba, struct scsi_cmnd *sc)
1501 case SCSI_PROT_WRITE_STRIP: 1494 case SCSI_PROT_WRITE_STRIP:
1502 case SCSI_PROT_READ_PASS: 1495 case SCSI_PROT_READ_PASS:
1503 case SCSI_PROT_WRITE_PASS: 1496 case SCSI_PROT_WRITE_PASS:
1504 case SCSI_PROT_WRITE_CONVERT:
1505 case SCSI_PROT_READ_CONVERT:
1506 ret = LPFC_PG_TYPE_DIF_BUF; 1497 ret = LPFC_PG_TYPE_DIF_BUF;
1507 break; 1498 break;
1508 default: 1499 default: