summaryrefslogtreecommitdiff
path: root/sys/cam
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2007-04-27 14:23:05 +0000
committerScott Long <scottl@FreeBSD.org>2007-04-27 14:23:05 +0000
commit2524e4a8f659883e6e8725a36c6e2eec0d3c8081 (patch)
tree9e3f08bdcb724ab93446a6bdecc2717ab1353de0 /sys/cam
parent9b03b0f3c009dc63cc41322579d251fbc2c65878 (diff)
Notes
Diffstat (limited to 'sys/cam')
-rw-r--r--sys/cam/cam_xpt.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c
index 78c2ac86a4c8..f3d3ab2d9e54 100644
--- a/sys/cam/cam_xpt.c
+++ b/sys/cam/cam_xpt.c
@@ -7017,10 +7017,12 @@ xpt_finishconfig(struct cam_periph *periph, union ccb *done_ccb)
}
}
- task = malloc(sizeof(struct xpt_task), M_CAMXPT, M_NOWAIT);
- if (task != NULL) {
- TASK_INIT(&task->task, 0, xpt_finishconfig_task, task);
- taskqueue_enqueue(taskqueue_thread, &task->task);
+ if (busses_to_config == 0) {
+ task = malloc(sizeof(struct xpt_task), M_CAMXPT, M_NOWAIT);
+ if (task != NULL) {
+ TASK_INIT(&task->task, 0, xpt_finishconfig_task, task);
+ taskqueue_enqueue(taskqueue_thread, &task->task);
+ }
}
if (done_ccb != NULL)