Page MenuHomeFreeBSD

ufshci: do not reset the device in the XPT_RESET_DEV handler
ClosedPublic

Authored by jaeyoon on Aug 5 2026, 8:15 AM.
Tags
None
Referenced Files
F176098436: D58671.diff
Fri, Oct 16, 2:31 AM
Unknown Object (File)
Tue, Oct 6, 10:03 PM
Unknown Object (File)
Sun, Oct 4, 12:49 PM
Unknown Object (File)
Sun, Oct 4, 12:49 PM
Unknown Object (File)
Fri, Oct 2, 12:38 PM
Unknown Object (File)
Tue, Sep 29, 1:43 AM
Unknown Object (File)
Mon, Sep 28, 2:01 AM
Unknown Object (File)
Sat, Sep 26, 5:06 PM
Subscribers
None

Details

Summary

CAM calls the SIM action callback with the SIM lock and the CAM
device lock held. The XPT_RESET_DEV handler called
ufshci_dev_reset(), which sleeps on device commands. Sleeping there
panics when another thread contends for the lock: "panic: sleeping
thread holds CAM device lock".

Report success without touching the device, as nvme_sim(4) does.
A real device reset needs the controller reset path. That rework is
planned together with in-flight request recovery.

Sponsored by: Samsung Electronics

Diff Detail

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