diff options
author | Markus Schneider-Pargmann <[email protected]> | 2024-08-05 20:30:44 +0200 |
---|---|---|
committer | Marc Kleine-Budde <[email protected]> | 2024-08-06 09:25:30 +0200 |
commit | 4d5159bfafa8d1a205d8213b7434e0402588b9ed (patch) | |
tree | d1793e5aa6134f9c7d1d3221e5ed5d80c9489ff4 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | 40e4552eeef0e3090a5988de15889795936fd38f (diff) |
can: m_can: Do not cancel timer from within timer
On setups without interrupts, the interrupt handler is called from a
timer callback. For non-peripheral receives napi is scheduled,
interrupts are disabled and the timer is canceled with a blocking call.
In case of an error this can happen as well.
Check if napi is scheduled in the timer callback after the interrupt
handler executed. If napi is scheduled, the timer is disabled. It will
be reenabled by m_can_poll().
Return error values from the interrupt handler so that interrupt threads
and timer callback can deal differently with it. In case of the timer
we only disable the timer. The rest will be done when stopping the
interface.
Fixes: b382380c0d2d ("can: m_can: Add hrtimer to generate software interrupt")
Fixes: a163c5761019 ("can: m_can: Start/Cancel polling timer together with interrupts")
Signed-off-by: Markus Schneider-Pargmann <[email protected]>
Link: https://lore.kernel.org/all/[email protected]
Signed-off-by: Marc Kleine-Budde <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions