prov/shm: free all pending srx entries on ep close #10845
+24
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When an EP is closed, we may have rx_entries from the owner srx that still need to be freed. If we don't, the owner srx close may return an error since not all memory has been freed.
Matched inline, inject, CMA, and IPC transfers will all be freed immediately after matching but matched SAR messages that need multiple round trips need to be afreed asynchronously. Iterate through the sar_list and free the rx_entry with the owner srx if needed.
Unexpected messages are still assigned an rx_entry through the owner srx that needs to be freed. Add a list for all cmd_ctxs and free all outstanding unmatched rx_entries before closing.