aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/hpsa.h
diff options
context:
space:
mode:
authorStephen M. Cameron <scameron@beardog.cce.hp.com>2012-05-01 12:43:42 -0400
committerJames Bottomley <JBottomley@Parallels.com>2012-05-10 04:19:39 -0400
commite85c59746957fd6e3595d02cf614370056b5816e (patch)
tree2ddf892543ebd651eb98a7671d0398e07f7c160c /drivers/scsi/hpsa.h
parent21334ea9086c31db38e76152a1e31001a0ed288a (diff)
[SCSI] hpsa: dial down lockup detection during firmware flash
Dial back the aggressiveness of the controller lockup detection thread. Currently it will declare the controller to be locked up if it goes for 10 seconds with no interrupts and no change in the heartbeat register. Dial back this to 30 seconds with no heartbeat change, and also snoop the ioctl path and if a firmware flash command is detected, dial it back further to 4 minutes until the firmware flash command completes. The reason for this is that during the firmware flash operation, the controller apparently doesn't update the heartbeat register as frequently as it is supposed to, and we can get a false positive. Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/hpsa.h')
-rw-r--r--drivers/scsi/hpsa.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/hpsa.h b/drivers/scsi/hpsa.h
index fb51ef7d48cc..981647989bfd 100644
--- a/drivers/scsi/hpsa.h
+++ b/drivers/scsi/hpsa.h
@@ -129,6 +129,8 @@ struct ctlr_info {
129 u64 last_intr_timestamp; 129 u64 last_intr_timestamp;
130 u32 last_heartbeat; 130 u32 last_heartbeat;
131 u64 last_heartbeat_timestamp; 131 u64 last_heartbeat_timestamp;
132 u32 heartbeat_sample_interval;
133 atomic_t firmware_flash_in_progress;
132 u32 lockup_detected; 134 u32 lockup_detected;
133 struct list_head lockup_list; 135 struct list_head lockup_list;
134 /* Address of h->q[x] is passed to intr handler to know which queue */ 136 /* Address of h->q[x] is passed to intr handler to know which queue */