Page MenuHomeFreeBSD

ufshci: release the CCB after sending a start stop unit command
ClosedPublic

Authored by jaeyoon on Wed, Aug 5, 8:12 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Aug 30, 12:05 PM
Unknown Object (File)
Sun, Aug 30, 12:01 PM
Unknown Object (File)
Thu, Aug 27, 4:57 AM
Unknown Object (File)
Fri, Aug 21, 12:53 PM
Unknown Object (File)
Thu, Aug 20, 12:10 PM
Unknown Object (File)
Thu, Aug 20, 6:01 AM
Unknown Object (File)
Tue, Aug 18, 8:15 PM
Unknown Object (File)
Tue, Aug 18, 8:10 PM
Subscribers
None

Details

Summary

ufshci_sim_send_ssu() got a CCB from cam_periph_getccb() but never
returned it. Each call leaked the CCB and one slot of the device's
CCB allocation budget. When the budget runs out, the next
cam_periph_getccb() waits forever and the suspend path hangs.

Release the CCB while the periph lock is still held, as the other CAM
periph drivers do.

Sponsored by: Samsung Electronics

Diff Detail

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