]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
can: m_can: Remove m_can_rx_peripheral indirection
authorMarkus Schneider-Pargmann <msp@baylibre.com>
Mon, 5 Aug 2024 18:30:43 +0000 (20:30 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Tue, 6 Aug 2024 07:25:30 +0000 (09:25 +0200)
m_can_rx_peripheral() is a wrapper around m_can_rx_handler() that calls
m_can_disable_all_interrupts() on error. The same handling for the same
error path is done in m_can_isr() as well.

So remove m_can_rx_peripheral() and do the call from m_can_isr()
directly.

Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
Link: https://lore.kernel.org/all/20240805183047.305630-4-msp@baylibre.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/m_can/m_can.c

index ba416c973e8d24a9a192e1e7337bbca055b77290..a37ed376de9b3ef695ea413c314ded84f95fd6b1 100644 (file)
@@ -1037,22 +1037,6 @@ end:
        return work_done;
 }
 
-static int m_can_rx_peripheral(struct net_device *dev, u32 irqstatus)
-{
-       struct m_can_classdev *cdev = netdev_priv(dev);
-       int work_done;
-
-       work_done = m_can_rx_handler(dev, NAPI_POLL_WEIGHT, irqstatus);
-
-       /* Don't re-enable interrupts if the driver had a fatal error
-        * (e.g., FIFO read failure).
-        */
-       if (work_done < 0)
-               m_can_disable_all_interrupts(cdev);
-
-       return work_done;
-}
-
 static int m_can_poll(struct napi_struct *napi, int quota)
 {
        struct net_device *dev = napi->dev;
@@ -1250,7 +1234,7 @@ static irqreturn_t m_can_isr(int irq, void *dev_id)
                } else {
                        int pkts;
 
-                       pkts = m_can_rx_peripheral(dev, ir);
+                       pkts = m_can_rx_handler(dev, NAPI_POLL_WEIGHT, ir);
                        if (pkts < 0)
                                goto out_fail;
                }