Page MenuHomeFreeBSD

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

Authored by jaeyoon on Wed, Aug 5, 8:15 AM.
Tags
None
Referenced Files
F169450413: D58671.diff
Tue, Sep 1, 1:57 PM
Unknown Object (File)
Sat, Aug 29, 5:59 AM
Unknown Object (File)
Fri, Aug 28, 10:02 AM
Unknown Object (File)
Fri, Aug 28, 9:04 AM
Unknown Object (File)
Fri, Aug 28, 2:34 AM
Unknown Object (File)
Wed, Aug 26, 11:03 PM
Unknown Object (File)
Mon, Aug 24, 10:14 AM
Unknown Object (File)
Thu, Aug 20, 9:54 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