-
Notifications
You must be signed in to change notification settings - Fork 2k
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
drivers/{dose, slipdev, sam0_eth}: generate RX event for queued packets #18201
Conversation
9616555
to
34a3523
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK. Code change makes sense and I trust your testing
34a3523
to
2583239
Compare
code looks reasonable. Could you test these device drivers on more time before merging? |
Yes this fixes the issue. |
I can just rebase #18066 if this gets merged |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK. Code makes sense and I trust your testing
Thank you for the review! |
Contribution description
I was debugging the issue that packets where stuck in the RX path until the next packet was received, turns out they were stuck in the driver's RX queue:
To fix this, generate another
NETDEV_EVENT_RX_COMPLETE
complete event if there is still a packet in the rx buffer when we finished processing the current one.Testing procedure
The issue can be triggered by heavy network traffic, e.g.
With this patch, we don't have packets stuck in the RX buffer after that anymore
Issues/PRs references