Page MenuHomeFreeBSD

ufshci: claim trackers before failing them
ClosedPublic

Authored by jaeyoon on Wed, Aug 19, 5:31 AM.
Tags
None
Referenced Files
F168740390: D58945.id184308.diff
Sat, Aug 29, 10:02 PM
F168740080: D58945.id184308.diff
Sat, Aug 29, 10:00 PM
F168690491: D58945.id.diff
Sat, Aug 29, 3:44 PM
F168685382: D58945.diff
Sat, Aug 29, 3:11 PM
Unknown Object (File)
Fri, Aug 28, 9:59 PM
Unknown Object (File)
Thu, Aug 27, 5:02 PM
Unknown Object (File)
Thu, Aug 27, 9:05 AM
Unknown Object (File)
Wed, Aug 26, 6:39 PM
Subscribers
None

Details

Summary

ufshci_req_queue_fail() drops the queue lock to complete each
tracker. In that window the completion path could complete the
same tracker again.

Claim the slot before dropping the lock, so the completion scan
skips it. Reserved slots are left to their submit thread, which
completes them itself. The manual request completion helper
lost its only caller, so drop it.

Sponsored by: Samsung Electronics

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 75698
Build 72581: arc lint + arc unit