diff options
author | jimharris <jimharris@FreeBSD.org> | 2012-04-10 16:33:19 +0000 |
---|---|---|
committer | jimharris <jimharris@FreeBSD.org> | 2012-04-10 16:33:19 +0000 |
commit | 9daad3b04b7269c64f326876b55dac3ae0d7b844 (patch) | |
tree | 5e273e5e49ef5af0a3d25e0afdd915456b69098d /sys/dev/isci/isci_controller.c | |
parent | c41a4a0d879c72675b7d273de7fc8a7e3e57dbd7 (diff) | |
download | FreeBSD-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.c | 1 |
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 |