summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorscottl <scottl@FreeBSD.org>2014-12-26 23:18:09 +0000
committerscottl <scottl@FreeBSD.org>2014-12-26 23:18:09 +0000
commit8e470958f3857e9ee9f60dcf2e5ed5b488b94777 (patch)
tree5903482aff20877c0dc91dc0c39e4dafce673a28 /sys/dev
parentbe077139afff91861ac7aeabd9b95a2186a92008 (diff)
downloadFreeBSD-src-8e470958f3857e9ee9f60dcf2e5ed5b488b94777.zip
FreeBSD-src-8e470958f3857e9ee9f60dcf2e5ed5b488b94777.tar.gz
MFC 276174:
Fix tunable and sysctl handling of the fail_on_task_timeout knob. Reviewed by: emax Obtained from: Netflix, Inc.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/isci/isci_controller.c2
-rw-r--r--sys/dev/isci/isci_sysctl.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/isci/isci_controller.c b/sys/dev/isci/isci_controller.c
index f3ff082..b0f4285 100644
--- a/sys/dev/isci/isci_controller.c
+++ b/sys/dev/isci/isci_controller.c
@@ -373,6 +373,8 @@ SCI_STATUS isci_controller_initialize(struct ISCI_CONTROLLER *controller)
fail_on_timeout = 1;
TUNABLE_INT_FETCH("hw.isci.fail_on_task_timeout", &fail_on_timeout);
+ controller->fail_on_task_timeout = fail_on_timeout;
+
/* Attach to CAM using xpt_bus_register now, then immediately freeze
* the simq. It will get released later when initial domain discovery
* is complete.
diff --git a/sys/dev/isci/isci_sysctl.c b/sys/dev/isci/isci_sysctl.c
index 62a10b9..a7c56c6 100644
--- a/sys/dev/isci/isci_sysctl.c
+++ b/sys/dev/isci/isci_sysctl.c
@@ -226,12 +226,13 @@ static int
isci_sysctl_fail_on_task_timeout(SYSCTL_HANDLER_ARGS)
{
struct isci_softc *isci = (struct isci_softc *)arg1;
- int32_t fail_on_timeout = 0;
+ int32_t fail_on_timeout;
int error, i;
+ fail_on_timeout = isci->controllers[0].fail_on_task_timeout;
error = sysctl_handle_int(oidp, &fail_on_timeout, 0, req);
- if (error || fail_on_timeout == 0)
+ if (error || req->newptr == NULL)
return (error);
for (i = 0; i < isci->controller_count; i++)
OpenPOWER on IntegriCloud