From 5b7449ad47be4582ff451ce4615753dab4a6f882 Mon Sep 17 00:00:00 2001 From: Abdelkader Boudih Date: Mon, 20 Jul 2026 15:47:02 -0700 Subject: firewire: drain pending xfers after callout stop in detach Removes a TODO that predates the existing drain call. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D58308 --- sys/dev/firewire/firewire.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/firewire/firewire.c b/sys/dev/firewire/firewire.c index d3808f5c8e62..cc0cf9e5b7ad 100644 --- a/sys/dev/firewire/firewire.c +++ b/sys/dev/firewire/firewire.c @@ -564,7 +564,9 @@ firewire_detach(device_t dev) callout_stop(&fc->bmr_callout); callout_stop(&fc->busprobe_callout); - /* TODO: cancel pending xfers in atq/ats queues */ + /* Drain xfers queued by children during detach or pending callouts. */ + fw_drain_txq(fc); + for (fwdev = STAILQ_FIRST(&fc->devices); fwdev != NULL; fwdev = fwdev_next) { fwdev_next = STAILQ_NEXT(fwdev, link); -- cgit v1.3