Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes for scatterlist allocation, and interrupt race condition #3

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

IvanRoth
Copy link

Switch from contiguous raw scatterlist to use scatterlist table api instead (which allocates a page at a time for the scatterlist, then chains them together), fixes memory alloc failure when host memory gets fragmented enough to not be able to allocate enough memory for a contiguous scatterlist.

Don't increment ISR count, and mask interupts, if no outstanding commands. This prevents test failure due to race between reaped completion, unmasking interrupts, and device canceling interrupt, sometimes spurious interrupt may occur that arrive the moment interrupts are unmasked, causing the next interrupt to be masked.

…nstead, fixes memory alloc failure when host memory gets fragmented enough to not be able to allocate enough memory for a contiguous scatterlist.

Don't increment ISR count if no outstanding commands, prevents test failure due to race between reaped completion, unmasking interrupts, and device canceling interrupt, sometimes spurious interrupt may occur that arrive the moment interrupts are unmasked.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant