can: ifi: Start NAPI poll on bus warning too
Start the NAPI polling in case the bus warning interrupt happens, since it is the poll function which checks and reports the warning. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Marc Kleine-Budde <mkl@pengutronix.de> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Oliver Hartkopp <socketcan@hartkopp.net> Cc: Wolfgang Grandegger <wg@grandegger.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
2fe6c94314
commit
496c798db0
|
@ -497,7 +497,8 @@ static irqreturn_t ifi_canfd_isr(int irq, void *dev_id)
|
|||
struct ifi_canfd_priv *priv = netdev_priv(ndev);
|
||||
struct net_device_stats *stats = &ndev->stats;
|
||||
const u32 rx_irq_mask = IFI_CANFD_INTERRUPT_RXFIFO_NEMPTY |
|
||||
IFI_CANFD_INTERRUPT_RXFIFO_NEMPTY_PER;
|
||||
IFI_CANFD_INTERRUPT_RXFIFO_NEMPTY_PER |
|
||||
IFI_CANFD_INTERRUPT_ERROR_WARNING;
|
||||
const u32 tx_irq_mask = IFI_CANFD_INTERRUPT_TXFIFO_EMPTY |
|
||||
IFI_CANFD_INTERRUPT_TXFIFO_REMOVE;
|
||||
const u32 clr_irq_mask = ~(IFI_CANFD_INTERRUPT_SET_IRQ |
|
||||
|
@ -513,7 +514,7 @@ static irqreturn_t ifi_canfd_isr(int irq, void *dev_id)
|
|||
/* Clear all pending interrupts but ErrWarn */
|
||||
writel(clr_irq_mask, priv->base + IFI_CANFD_INTERRUPT);
|
||||
|
||||
/* RX IRQ, start NAPI */
|
||||
/* RX IRQ or bus warning, start NAPI */
|
||||
if (isr & rx_irq_mask) {
|
||||
ifi_canfd_irq_enable(ndev, 0);
|
||||
napi_schedule(&priv->napi);
|
||||
|
|
Loading…
Reference in New Issue