On Fri, Mar 05, 2021 at 11:29:57PM +0100, Marc Kleine-Budde wrote: > On 05.03.2021 17:20:15, Torin Cooper-Bennun wrote: > > For peripheral devices, m_can sent skbs directly from a threaded irq > > instead of from a softirq context. This patch transitions the driver to > > use the rx-offload helper, ensuring the skbs are sent from the correct > > context, with h/w timestamping to ensure correct ordering. > > I think you beak the non-peripheral drivers here. They already have a > NAPI function m_can_poll(). It makes no sense and doesn't work, if you > do the RX in NAPI and then queue to rx-offload, which then needs to run > from NAPI again. But it cannot as m_can_poll is the NAPI function. > > For peripherals it works, as you do the RX in the threaded IRQ, queue to > rx-offload, which then schedules a NAPI, to push the CAN frames into the > networking stack. Understood, I will make the skb handling conditional on cdev->is_peripheral and retain netif_receive_skb and can_get_echo_skb usage for non-peripherals as before. -- Regards, Torin Cooper-Bennun Software Engineer | maxiluxsystems.com