summaryrefslogtreecommitdiffstats
path: root/sys/cam
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2009-10-21 15:57:16 +0000
committermav <mav@FreeBSD.org>2009-10-21 15:57:16 +0000
commite4fb54a8c126da268c8e39d300346a44b5a35777 (patch)
treedd458218d98f9acc0743a97bffe12ae49d6e57e0 /sys/cam
parent629bb93ae940a9f77caf2cb815d523fbfcb67d3f (diff)
downloadFreeBSD-src-e4fb54a8c126da268c8e39d300346a44b5a35777.zip
FreeBSD-src-e4fb54a8c126da268c8e39d300346a44b5a35777.tar.gz
MFp4:
Do not search for bus when it is not needed,
Diffstat (limited to 'sys/cam')
-rw-r--r--sys/cam/cam_xpt.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c
index 39b25df..9afeafa 100644
--- a/sys/cam/cam_xpt.c
+++ b/sys/cam/cam_xpt.c
@@ -4148,8 +4148,6 @@ xpt_release_simq(struct cam_sim *sim, int run_queue)
sendq->qfrozen_cnt--;
if (sendq->qfrozen_cnt == 0) {
- struct cam_eb *bus;
-
/*
* If there is a timeout scheduled to release this
* sim queue, remove it. The queue frozen count is
@@ -4159,15 +4157,17 @@ xpt_release_simq(struct cam_sim *sim, int run_queue)
callout_stop(&sim->callout);
sim->flags &= ~CAM_SIM_REL_TIMEOUT_PENDING;
}
- bus = xpt_find_bus(sim->path_id);
if (run_queue) {
+ struct cam_eb *bus;
+
/*
* Now that we are unfrozen run the send queue.
*/
+ bus = xpt_find_bus(sim->path_id);
xpt_run_dev_sendq(bus);
+ xpt_release_bus(bus);
}
- xpt_release_bus(bus);
}
}
}
OpenPOWER on IntegriCloud