mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
can: ctucanfd: handle bus error interrupts
Include REG_INT_STAT_BEI in the top-level error interrupt condition.
BEI is enabled when CAN_CTRLMODE_BERR_REPORTING is requested and
ctucan_err_interrupt() already handles it. Without checking and
clearing BEI in the top-level handler, bus error interrupts are not
handled or acknowledged.
Fixes: 2dcb8e8782 ("can: ctucanfd: add support for CTU CAN FD open-source IP core - bus independent part.")
Signed-off-by: Avi Weiss <thnkslprpt@gmail.com>
Acked-by: Pavel Pisa <pisa@fel.cvut.cz>
Link: https://patch.msgid.link/20260723074403.131575-1-thnkslprpt@gmail.com
Cc: stable@kernel.org
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
4e735cbe3a
commit
e74bae8995
|
|
@ -1136,8 +1136,12 @@ static irqreturn_t ctucan_interrupt(int irq, void *dev_id)
|
|||
/* Error interrupts */
|
||||
if (FIELD_GET(REG_INT_STAT_EWLI, isr) ||
|
||||
FIELD_GET(REG_INT_STAT_FCSI, isr) ||
|
||||
FIELD_GET(REG_INT_STAT_ALI, isr)) {
|
||||
icr = isr & (REG_INT_STAT_EWLI | REG_INT_STAT_FCSI | REG_INT_STAT_ALI);
|
||||
FIELD_GET(REG_INT_STAT_ALI, isr) ||
|
||||
FIELD_GET(REG_INT_STAT_BEI, isr)) {
|
||||
icr = isr & (REG_INT_STAT_EWLI |
|
||||
REG_INT_STAT_FCSI |
|
||||
REG_INT_STAT_ALI |
|
||||
REG_INT_STAT_BEI);
|
||||
|
||||
ctucan_netdev_dbg(ndev, "some ERR interrupt: clearing 0x%08x\n", icr);
|
||||
ctucan_write32(priv, CTUCANFD_INT_STAT, icr);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user