Page MenuHomeFreeBSD

ufshci: free the taskqueue on detach
ClosedPublic

Authored by jaeyoon on Aug 5 2026, 8:13 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Oct 15, 2:38 AM
Unknown Object (File)
Thu, Oct 15, 1:46 AM
Unknown Object (File)
Wed, Oct 14, 8:53 AM
Unknown Object (File)
Tue, Oct 6, 10:02 PM
Unknown Object (File)
Mon, Sep 28, 2:01 PM
Unknown Object (File)
Thu, Sep 24, 1:54 AM
Unknown Object (File)
Fri, Sep 18, 10:30 AM
Unknown Object (File)
Thu, Sep 17, 3:19 PM
Subscribers
None

Details

Summary

ufshci_ctrlr_destruct() never freed the taskqueue. Every load and
unload cycle leaked the taskqueue and its kernel thread. A task that
was still queued could also run after the module was gone.

Free the taskqueue in destruct. Do it after the interrupt teardown
so nothing enqueues new work. A reset task that is still queued at
this point races the queue teardown. That race is older than this
change. The planned in-flight recovery rework will close it.

Sponsored by: Samsung Electronics

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable