From c5886004077d4920e2d7bc426d9f5d9d69848b35 Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Fri, 24 Aug 2012 22:04:16 +0000 Subject: [PATCH] Clear freeze bit before calling xpt_release_devq. This ensures that any ccbs which immediately start during the call to xpt_release_devq see an accurate picture of the frozen_lun_mask. Sponsored by: Intel MFC after: 3 days --- sys/dev/isci/isci_remote_device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/isci/isci_remote_device.c b/sys/dev/isci/isci_remote_device.c index 31fcbfb75cbc..b359287a43d0 100644 --- a/sys/dev/isci/isci_remote_device.c +++ b/sys/dev/isci/isci_remote_device.c @@ -278,12 +278,12 @@ isci_remote_device_release_lun_queue(struct ISCI_REMOTE_DEVICE *remote_device, if (remote_device->frozen_lun_mask & (1 << lun)) { struct cam_path *path; + remote_device->frozen_lun_mask &= ~(1 << lun); xpt_create_path(&path, xpt_periph, cam_sim_path(remote_device->domain->controller->sim), remote_device->index, lun); xpt_release_devq(path, 1, TRUE); xpt_free_path(path); - remote_device->frozen_lun_mask &= ~(1 << lun); } }