aboutsummaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorJames Smart2017-11-29 16:47:33 -0800
committerChristoph Hellwig2018-01-08 11:01:55 +0100
commitb6f807738b5e3a24eda3ea6864abc18d10279e69 (patch)
tree82bde2112932a5ebe73cf0498e3c4a4083e5a397 /sound
parent24431d60d3fbfd4c8c05e1828e5d9b35db4fd81c (diff)
nvme_fcloop: refactor host/target io job access
The split between what the host accesses on its flows vs what the target side accesses was flawed. Abort handling didn't properly clear initiator vs target structure cross-reference and locks weren't used for synchronization. Thus, there were issues of freeing structures too soon and access after free. A couple of these existed pre the IN_ISR mods, but when the target upcalls were converted to work items, thus adding delays between the 2 sides of accesses, the problems became pronounced. Resolve by: - tracking io state mainly in the tgt-side io structure. - make the tgt-side io structure released by reference not by code flow. - when changing initiator structures, use locks for synchronization - aborts are clearly tracked for which side saw the abort, and after seeing the abort, cross-references are cleared under lock. Signed-off-by: James Smart <james.smart@broadcom.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'sound')
0 files changed, 0 insertions, 0 deletions