lsm6dsv16x: Switch the driver to use level triggered IRQ #99445
+2
−2
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.



The benefit of using edge triggered interrupt is that they allow one to write handlers that don't require disabling/enabling of the interrupts. This driver donesn't leverage that and, in fact, by using edge trigger it opens up a race condition window between the read of the status register and re-enablement of the IRQ. During that window and IRQ can arrive and be lost stalling the data fetching completely.