Patch "can: m_can: Remove m_can_rx_peripheral indirection" has been added to the 6.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    can: m_can: Remove m_can_rx_peripheral indirection

to the 6.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     can-m_can-remove-m_can_rx_peripheral-indirection.patch
and it can be found in the queue-6.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 97b2f3e9c73cb204f97e9e810228ff5e9bf081d5
Author: Markus Schneider-Pargmann <msp@xxxxxxxxxxxx>
Date:   Mon Aug 5 20:30:43 2024 +0200

    can: m_can: Remove m_can_rx_peripheral indirection
    
    [ Upstream commit 40e4552eeef0e3090a5988de15889795936fd38f ]
    
    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@xxxxxxxxxxxx>
    Link: https://lore.kernel.org/all/20240805183047.305630-4-msp@xxxxxxxxxxxx
    Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
    Stable-dep-of: 4d5159bfafa8 ("can: m_can: Do not cancel timer from within timer")
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c
index dba1788f7fbb..2d73fa7f8258 100644
--- a/drivers/net/can/m_can/m_can.c
+++ b/drivers/net/can/m_can/m_can.c
@@ -1003,22 +1003,6 @@ static int m_can_rx_handler(struct net_device *dev, int quota, u32 irqstatus)
 	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;
@@ -1216,7 +1200,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;
 		}




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux