@@ -953,9 +953,9 @@ static int fetch_to_dev_buffer(struct scsi_cmnd *scp, unsigned char *arr,
953
953
}
954
954
955
955
956
- static const char * inq_vendor_id = "Linux " ;
957
- static const char * inq_product_id = "scsi_debug " ;
958
- static const char * inq_product_rev = "0186" ; /* version less '.' */
956
+ static char sdebug_inq_vendor_id [ 9 ] = "Linux " ;
957
+ static char sdebug_inq_product_id [ 17 ] = "scsi_debug " ;
958
+ static char sdebug_inq_product_rev [ 5 ] = "0186" ; /* version less '.' */
959
959
/* Use some locally assigned NAAs for SAS addresses. */
960
960
static const u64 naa3_comp_a = 0x3222222000000000ULL ;
961
961
static const u64 naa3_comp_b = 0x3333333000000000ULL ;
@@ -975,8 +975,8 @@ static int inquiry_vpd_83(unsigned char *arr, int port_group_id,
975
975
arr [0 ] = 0x2 ; /* ASCII */
976
976
arr [1 ] = 0x1 ;
977
977
arr [2 ] = 0x0 ;
978
- memcpy (& arr [4 ], inq_vendor_id , 8 );
979
- memcpy (& arr [12 ], inq_product_id , 16 );
978
+ memcpy (& arr [4 ], sdebug_inq_vendor_id , 8 );
979
+ memcpy (& arr [12 ], sdebug_inq_product_id , 16 );
980
980
memcpy (& arr [28 ], dev_id_str , dev_id_str_len );
981
981
num = 8 + 16 + dev_id_str_len ;
982
982
arr [3 ] = num ;
@@ -1408,9 +1408,9 @@ static int resp_inquiry(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
1408
1408
arr [6 ] = 0x10 ; /* claim: MultiP */
1409
1409
/* arr[6] |= 0x40; ... claim: EncServ (enclosure services) */
1410
1410
arr [7 ] = 0xa ; /* claim: LINKED + CMDQUE */
1411
- memcpy (& arr [8 ], inq_vendor_id , 8 );
1412
- memcpy (& arr [16 ], inq_product_id , 16 );
1413
- memcpy (& arr [32 ], inq_product_rev , 4 );
1411
+ memcpy (& arr [8 ], sdebug_inq_vendor_id , 8 );
1412
+ memcpy (& arr [16 ], sdebug_inq_product_id , 16 );
1413
+ memcpy (& arr [32 ], sdebug_inq_product_rev , 4 );
1414
1414
/* version descriptors (2 bytes each) follow */
1415
1415
put_unaligned_be16 (0xc0 , arr + 58 ); /* SAM-6 no version claimed */
1416
1416
put_unaligned_be16 (0x5c0 , arr + 60 ); /* SPC-5 no version claimed */
@@ -4151,6 +4151,12 @@ module_param_named(every_nth, sdebug_every_nth, int, S_IRUGO | S_IWUSR);
4151
4151
module_param_named (fake_rw , sdebug_fake_rw , int , S_IRUGO | S_IWUSR );
4152
4152
module_param_named (guard , sdebug_guard , uint , S_IRUGO );
4153
4153
module_param_named (host_lock , sdebug_host_lock , bool , S_IRUGO | S_IWUSR );
4154
+ module_param_string (inq_vendor , sdebug_inq_vendor_id ,
4155
+ sizeof (sdebug_inq_vendor_id ), S_IRUGO |S_IWUSR );
4156
+ module_param_string (inq_product , sdebug_inq_product_id ,
4157
+ sizeof (sdebug_inq_product_id ), S_IRUGO |S_IWUSR );
4158
+ module_param_string (inq_rev , sdebug_inq_product_rev ,
4159
+ sizeof (sdebug_inq_product_rev ), S_IRUGO |S_IWUSR );
4154
4160
module_param_named (lbpu , sdebug_lbpu , int , S_IRUGO );
4155
4161
module_param_named (lbpws , sdebug_lbpws , int , S_IRUGO );
4156
4162
module_param_named (lbpws10 , sdebug_lbpws10 , int , S_IRUGO );
@@ -4202,6 +4208,9 @@ MODULE_PARM_DESC(every_nth, "timeout every nth command(def=0)");
4202
4208
MODULE_PARM_DESC (fake_rw , "fake reads/writes instead of copying (def=0)" );
4203
4209
MODULE_PARM_DESC (guard , "protection checksum: 0=crc, 1=ip (def=0)" );
4204
4210
MODULE_PARM_DESC (host_lock , "host_lock is ignored (def=0)" );
4211
+ MODULE_PARM_DESC (inq_vendor , "SCSI INQUIRY vendor string (def=\"Linux\")" );
4212
+ MODULE_PARM_DESC (inq_product , "SCSI INQUIRY product string (def=\"scsi_debug\")" );
4213
+ MODULE_PARM_DESC (inq_rev , "SCSI INQUIRY revision string (def=\"0186\")" );
4205
4214
MODULE_PARM_DESC (lbpu , "enable LBP, support UNMAP command (def=0)" );
4206
4215
MODULE_PARM_DESC (lbpws , "enable LBP, support WRITE SAME(16) with UNMAP bit (def=0)" );
4207
4216
MODULE_PARM_DESC (lbpws10 , "enable LBP, support WRITE SAME(10) with UNMAP bit (def=0)" );
0 commit comments