summaryrefslogtreecommitdiffstats
path: root/sys/dev/isci/isci_controller.c
diff options
context:
space:
mode:
authorjimharris <jimharris@FreeBSD.org>2012-04-10 16:33:19 +0000
committerjimharris <jimharris@FreeBSD.org>2012-04-10 16:33:19 +0000
commit9daad3b04b7269c64f326876b55dac3ae0d7b844 (patch)
tree5e273e5e49ef5af0a3d25e0afdd915456b69098d /sys/dev/isci/isci_controller.c
parentc41a4a0d879c72675b7d273de7fc8a7e3e57dbd7 (diff)
downloadFreeBSD-src-9daad3b04b7269c64f326876b55dac3ae0d7b844.zip
FreeBSD-src-9daad3b04b7269c64f326876b55dac3ae0d7b844.tar.gz
Queue CCBs internally instead of using CAM_REQUEUE_REQ status. This fixes
problem where userspace apps such as smartctl fail due to CAM_REQUEUE_REQ status getting returned when tagged commands are outstanding when smartctl sends its I/O using the pass(4) interface. Sponsored by: Intel Found and tested by: Ravi Pokala <rpokala at panasas dot com> Reviewed by: scottl Approved by: scottl MFC after: 1 week
Diffstat (limited to 'sys/dev/isci/isci_controller.c')
-rw-r--r--sys/dev/isci/isci_controller.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/isci/isci_controller.c b/sys/dev/isci/isci_controller.c
index 8511400..a4b7cfe 100644
--- a/sys/dev/isci/isci_controller.c
+++ b/sys/dev/isci/isci_controller.c
@@ -430,6 +430,7 @@ int isci_controller_allocate_memory(struct ISCI_CONTROLLER *controller)
remote_device->frozen_lun_mask = 0;
sci_fast_list_element_init(remote_device,
&remote_device->pending_device_reset_element);
+ TAILQ_INIT(&remote_device->queued_ccbs);
/*
* For the first SCI_MAX_DOMAINS device objects, do not put
OpenPOWER on IntegriCloud