diff --git a/sys/cam/cam_queue.c b/sys/cam/cam_queue.c index 1e756d2e89a..56586be3cf7 100644 --- a/sys/cam/cam_queue.c +++ b/sys/cam/cam_queue.c @@ -289,7 +289,7 @@ void cam_ccbq_free(struct cam_ccbq *ccbq) { if (ccbq) { - camq_fini(&ccbq->queue); + cam_ccbq_fini(ccbq); free(ccbq, M_CAMCCBQ); } } @@ -338,6 +338,13 @@ cam_ccbq_init(struct cam_ccbq *ccbq, int openings) return (0); } +void +cam_ccbq_fini(struct cam_ccbq *ccbq) +{ + + camq_fini(&ccbq->queue); +} + /* * Heap routines for manipulating CAM queues. */ diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c index 9afeafa3bf5..5ca0584b5e0 100644 --- a/sys/cam/cam_xpt.c +++ b/sys/cam/cam_xpt.c @@ -4447,7 +4447,7 @@ xpt_release_device(struct cam_eb *bus, struct cam_et *target, devq = bus->sim->devq; cam_devq_resize(devq, devq->alloc_queue.array_size - 1); camq_fini(&device->drvq); - camq_fini(&device->ccbq.queue); + cam_ccbq_fini(&device->ccbq); free(device, M_CAMXPT); xpt_release_target(bus, target); }