]> git.itanic.dy.fi Git - linux-stable/commitdiff
can: at91_can: at91_irq_err_frame(): move next to at91_irq_err()
authorMarc Kleine-Budde <mkl@pengutronix.de>
Thu, 28 Sep 2023 09:15:15 +0000 (11:15 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Thu, 5 Oct 2023 19:47:07 +0000 (21:47 +0200)
This is a cleanup patch, no functional change intended. As
at91_irq_err_frame() is called from the IRQ handler move it in front
of the IRQ handler next to at91_irq_err().

Link: https://lore.kernel.org/all/20231005-at91_can-rx_offload-v2-20-9987d53600e0@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/at91_can.c

index a84da199581601fda67a966fd6e78dc2deef0342..6b017fd695c0baf54d0b9972b1670227a23ab452 100644 (file)
@@ -750,67 +750,6 @@ static int at91_poll_rx(struct net_device *dev, int quota)
        return received;
 }
 
-static void at91_irq_err_frame(struct net_device *dev, const u32 reg_sr)
-{
-       struct net_device_stats *stats = &dev->stats;
-       struct at91_priv *priv = netdev_priv(dev);
-       struct sk_buff *skb;
-       struct can_frame *cf = NULL;
-
-       priv->can.can_stats.bus_error++;
-
-       skb = alloc_can_err_skb(dev, &cf);
-       if (cf)
-               cf->can_id |= CAN_ERR_PROT | CAN_ERR_BUSERROR;
-
-       if (reg_sr & AT91_IRQ_CERR) {
-               netdev_dbg(dev, "CRC error\n");
-
-               stats->rx_errors++;
-               if (cf)
-                       cf->data[3] |= CAN_ERR_PROT_LOC_CRC_SEQ;
-       }
-
-       if (reg_sr & AT91_IRQ_SERR) {
-               netdev_dbg(dev, "Stuff error\n");
-
-               stats->rx_errors++;
-               if (cf)
-                       cf->data[2] |= CAN_ERR_PROT_STUFF;
-       }
-
-       if (reg_sr & AT91_IRQ_AERR) {
-               netdev_dbg(dev, "NACK error\n");
-
-               stats->tx_errors++;
-               if (cf) {
-                       cf->can_id |= CAN_ERR_ACK;
-                       cf->data[2] |= CAN_ERR_PROT_TX;
-               }
-       }
-
-       if (reg_sr & AT91_IRQ_FERR) {
-               netdev_dbg(dev, "Format error\n");
-
-               stats->rx_errors++;
-               if (cf)
-                       cf->data[2] |= CAN_ERR_PROT_FORM;
-       }
-
-       if (reg_sr & AT91_IRQ_BERR) {
-               netdev_dbg(dev, "Bit error\n");
-
-               stats->tx_errors++;
-               if (cf)
-                       cf->data[2] |= CAN_ERR_PROT_TX | CAN_ERR_PROT_BIT;
-       }
-
-       if (!cf)
-               return;
-
-       netif_receive_skb(skb);
-}
-
 static int at91_poll(struct napi_struct *napi, int quota)
 {
        struct net_device *dev = napi->dev;
@@ -1061,6 +1000,67 @@ static void at91_irq_err(struct net_device *dev)
        priv->can.state = new_state;
 }
 
+static void at91_irq_err_frame(struct net_device *dev, const u32 reg_sr)
+{
+       struct net_device_stats *stats = &dev->stats;
+       struct at91_priv *priv = netdev_priv(dev);
+       struct sk_buff *skb;
+       struct can_frame *cf = NULL;
+
+       priv->can.can_stats.bus_error++;
+
+       skb = alloc_can_err_skb(dev, &cf);
+       if (cf)
+               cf->can_id |= CAN_ERR_PROT | CAN_ERR_BUSERROR;
+
+       if (reg_sr & AT91_IRQ_CERR) {
+               netdev_dbg(dev, "CRC error\n");
+
+               stats->rx_errors++;
+               if (cf)
+                       cf->data[3] |= CAN_ERR_PROT_LOC_CRC_SEQ;
+       }
+
+       if (reg_sr & AT91_IRQ_SERR) {
+               netdev_dbg(dev, "Stuff error\n");
+
+               stats->rx_errors++;
+               if (cf)
+                       cf->data[2] |= CAN_ERR_PROT_STUFF;
+       }
+
+       if (reg_sr & AT91_IRQ_AERR) {
+               netdev_dbg(dev, "NACK error\n");
+
+               stats->tx_errors++;
+               if (cf) {
+                       cf->can_id |= CAN_ERR_ACK;
+                       cf->data[2] |= CAN_ERR_PROT_TX;
+               }
+       }
+
+       if (reg_sr & AT91_IRQ_FERR) {
+               netdev_dbg(dev, "Format error\n");
+
+               stats->rx_errors++;
+               if (cf)
+                       cf->data[2] |= CAN_ERR_PROT_FORM;
+       }
+
+       if (reg_sr & AT91_IRQ_BERR) {
+               netdev_dbg(dev, "Bit error\n");
+
+               stats->tx_errors++;
+               if (cf)
+                       cf->data[2] |= CAN_ERR_PROT_TX | CAN_ERR_PROT_BIT;
+       }
+
+       if (!cf)
+               return;
+
+       netif_receive_skb(skb);
+}
+
 /* interrupt handler
  */
 static irqreturn_t at91_irq(int irq, void *dev_id)