aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mpt2sas
diff options
context:
space:
mode:
authorMartin K. Petersen <martin.petersen@oracle.com>2012-08-28 14:29:37 -0400
committerJames Bottomley <JBottomley@Parallels.com>2012-09-24 04:11:00 -0400
commit5e95e731115c391d36868cd36f499a8ce16c7959 (patch)
tree3cb6e78ecb0c1ba2c14d8038fdc7cfc1ccce4a3b /drivers/scsi/mpt2sas
parent9b5cd13249af3eb023ee7ba9ff63c16c25488d03 (diff)
[SCSI] mpt2sas: Add a module parameter that permits overriding protection capabilities
Add a parameter that allows the host protection capabilities mask to be provided at module load time. Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Acked-by: "Sreekanth Reddy" <Sreekanth.reddy@lsi.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/mpt2sas')
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_scsih.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
index bfda0ecd960..96f4d1f1cf5 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
@@ -123,6 +123,11 @@ static int disable_discovery = -1;
123module_param(disable_discovery, int, 0); 123module_param(disable_discovery, int, 0);
124MODULE_PARM_DESC(disable_discovery, " disable discovery "); 124MODULE_PARM_DESC(disable_discovery, " disable discovery ");
125 125
126/* permit overriding the host protection capabilities mask (EEDP/T10 PI) */
127static int prot_mask = 0;
128module_param(prot_mask, int, 0);
129MODULE_PARM_DESC(prot_mask, " host protection capabilities mask, def=7 ");
130
126/** 131/**
127 * struct sense_info - common structure for obtaining sense keys 132 * struct sense_info - common structure for obtaining sense keys
128 * @skey: sense key 133 * @skey: sense key
@@ -8088,8 +8093,14 @@ _scsih_probe(struct pci_dev *pdev, const struct pci_device_id *id)
8088 goto out_add_shost_fail; 8093 goto out_add_shost_fail;
8089 } 8094 }
8090 8095
8091 scsi_host_set_prot(shost, SHOST_DIF_TYPE1_PROTECTION 8096 /* register EEDP capabilities with SCSI layer */
8092 | SHOST_DIF_TYPE2_PROTECTION | SHOST_DIF_TYPE3_PROTECTION); 8097 if (prot_mask)
8098 scsi_host_set_prot(shost, prot_mask);
8099 else
8100 scsi_host_set_prot(shost, SHOST_DIF_TYPE1_PROTECTION
8101 | SHOST_DIF_TYPE2_PROTECTION
8102 | SHOST_DIF_TYPE3_PROTECTION);
8103
8093 scsi_host_set_guard(shost, SHOST_DIX_GUARD_CRC); 8104 scsi_host_set_guard(shost, SHOST_DIX_GUARD_CRC);
8094 8105
8095 /* event thread */ 8106 /* event thread */