aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbdelkader Boudih <freebsd@seuros.com>2026-07-20 22:47:02 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2026-07-20 22:47:22 +0000
commit5b7449ad47be4582ff451ce4615753dab4a6f882 (patch)
tree06c33e6d8f088d8cce5fea33f3f2f3effce8f438
parentd3259935f7780507248044cdce67646b5fa3e7c6 (diff)
-rw-r--r--sys/dev/firewire/firewire.c4
1 files changed, 3 insertions, 1 deletions
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);