aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_base.c13
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_base.h3
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_scsih.c8
3 files changed, 13 insertions, 11 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.c b/drivers/scsi/mpt2sas/mpt2sas_base.c
index bcb23d28b3e8..c76b18bbacb8 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_base.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_base.c
@@ -80,10 +80,6 @@ static int msix_disable = -1;
80module_param(msix_disable, int, 0); 80module_param(msix_disable, int, 0);
81MODULE_PARM_DESC(msix_disable, " disable msix routed interrupts (default=0)"); 81MODULE_PARM_DESC(msix_disable, " disable msix routed interrupts (default=0)");
82 82
83static int missing_delay[2] = {-1, -1};
84module_param_array(missing_delay, int, NULL, 0);
85MODULE_PARM_DESC(missing_delay, " device missing delay , io missing delay");
86
87static int mpt2sas_fwfault_debug; 83static int mpt2sas_fwfault_debug;
88MODULE_PARM_DESC(mpt2sas_fwfault_debug, " enable detection of firmware fault " 84MODULE_PARM_DESC(mpt2sas_fwfault_debug, " enable detection of firmware fault "
89 "and halt firmware - (default=0)"); 85 "and halt firmware - (default=0)");
@@ -2199,7 +2195,7 @@ _base_display_ioc_capabilities(struct MPT2SAS_ADAPTER *ioc)
2199} 2195}
2200 2196
2201/** 2197/**
2202 * _base_update_missing_delay - change the missing delay timers 2198 * mpt2sas_base_update_missing_delay - change the missing delay timers
2203 * @ioc: per adapter object 2199 * @ioc: per adapter object
2204 * @device_missing_delay: amount of time till device is reported missing 2200 * @device_missing_delay: amount of time till device is reported missing
2205 * @io_missing_delay: interval IO is returned when there is a missing device 2201 * @io_missing_delay: interval IO is returned when there is a missing device
@@ -2210,8 +2206,8 @@ _base_display_ioc_capabilities(struct MPT2SAS_ADAPTER *ioc)
2210 * delay, as well as the io missing delay. This should be called at driver 2206 * delay, as well as the io missing delay. This should be called at driver
2211 * load time. 2207 * load time.
2212 */ 2208 */
2213static void 2209void
2214_base_update_missing_delay(struct MPT2SAS_ADAPTER *ioc, 2210mpt2sas_base_update_missing_delay(struct MPT2SAS_ADAPTER *ioc,
2215 u16 device_missing_delay, u8 io_missing_delay) 2211 u16 device_missing_delay, u8 io_missing_delay)
2216{ 2212{
2217 u16 dmd, dmd_new, dmd_orignal; 2213 u16 dmd, dmd_new, dmd_orignal;
@@ -4407,9 +4403,6 @@ mpt2sas_base_attach(struct MPT2SAS_ADAPTER *ioc)
4407 if (r) 4403 if (r)
4408 goto out_free_resources; 4404 goto out_free_resources;
4409 4405
4410 if (missing_delay[0] != -1 && missing_delay[1] != -1)
4411 _base_update_missing_delay(ioc, missing_delay[0],
4412 missing_delay[1]);
4413 ioc->non_operational_loop = 0; 4406 ioc->non_operational_loop = 0;
4414 4407
4415 return 0; 4408 return 0;
diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.h b/drivers/scsi/mpt2sas/mpt2sas_base.h
index 4caaac13682f..11301974628b 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_base.h
+++ b/drivers/scsi/mpt2sas/mpt2sas_base.h
@@ -1055,6 +1055,9 @@ void mpt2sas_base_validate_event_type(struct MPT2SAS_ADAPTER *ioc, u32 *event_ty
1055 1055
1056void mpt2sas_halt_firmware(struct MPT2SAS_ADAPTER *ioc); 1056void mpt2sas_halt_firmware(struct MPT2SAS_ADAPTER *ioc);
1057 1057
1058void mpt2sas_base_update_missing_delay(struct MPT2SAS_ADAPTER *ioc,
1059 u16 device_missing_delay, u8 io_missing_delay);
1060
1058int mpt2sas_port_enable(struct MPT2SAS_ADAPTER *ioc); 1061int mpt2sas_port_enable(struct MPT2SAS_ADAPTER *ioc);
1059 1062
1060/* scsih shared API */ 1063/* scsih shared API */
diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
index c6bdc9267229..116e20195e15 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
@@ -101,6 +101,10 @@ static ushort max_sectors = 0xFFFF;
101module_param(max_sectors, ushort, 0); 101module_param(max_sectors, ushort, 0);
102MODULE_PARM_DESC(max_sectors, "max sectors, range 64 to 32767 default=32767"); 102MODULE_PARM_DESC(max_sectors, "max sectors, range 64 to 32767 default=32767");
103 103
104static int missing_delay[2] = {-1, -1};
105module_param_array(missing_delay, int, NULL, 0);
106MODULE_PARM_DESC(missing_delay, " device missing delay , io missing delay");
107
104/* scsi-mid layer global parmeter is max_report_luns, which is 511 */ 108/* scsi-mid layer global parmeter is max_report_luns, which is 511 */
105#define MPT2SAS_MAX_LUN (16895) 109#define MPT2SAS_MAX_LUN (16895)
106static int max_lun = MPT2SAS_MAX_LUN; 110static int max_lun = MPT2SAS_MAX_LUN;
@@ -7303,7 +7307,9 @@ _firmware_event_work(struct work_struct *work)
7303 case MPT2SAS_PORT_ENABLE_COMPLETE: 7307 case MPT2SAS_PORT_ENABLE_COMPLETE:
7304 ioc->start_scan = 0; 7308 ioc->start_scan = 0;
7305 7309
7306 7310 if (missing_delay[0] != -1 && missing_delay[1] != -1)
7311 mpt2sas_base_update_missing_delay(ioc, missing_delay[0],
7312 missing_delay[1]);
7307 7313
7308 dewtprintk(ioc, printk(MPT2SAS_INFO_FMT "port enable: complete " 7314 dewtprintk(ioc, printk(MPT2SAS_INFO_FMT "port enable: complete "
7309 "from worker thread\n", ioc->name)); 7315 "from worker thread\n", ioc->name));