Under high CAN-bus load the struct net_device_ops::{open,stop} callbacks (m_can_open(), m_can_close()) don't properly start and shutdown the device. Fix the problems by re-arranging the order of functions in m_can_open() and m_can_close(). Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> --- Changes in v3: - 1/2: m_can_close(), m_can_open(): move location of napi_disable(), call can_rx_offload_disable() for peripherals napi_disable() otherwise - 1/2: add Signed-off-by: Jake Hamby <Jake.Hamby@xxxxxxxxxxxx> - Link to v2: https://patch.msgid.link/20240909-can-m_can-fix-ifup-v2-0-2b35e624a089@xxxxxxxxxxxxxx Changes in v2: - 1/2: split timestamp wraparound changes into separate patch - 1/2: added "Not-Signed-off-by: Hamby, Jake (US) <Jake.Hamby@xxxxxxxxxxxx>" - 2/2: new patch: fix order of clock shutdown - Link to v1: https://patch.msgid.link/DM8PR14MB5221D9DD3A7F2130EF161AF7EF9E2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --- Jake Hamby (1): can: m_can: enable NAPI before enabling interrupts Marc Kleine-Budde (1): can: m_can: m_can_close(): stop clocks after device has been shut down drivers/net/can/m_can/m_can.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) --- base-commit: 48aa361c5db0b380c2b75c24984c0d3e7c1e8c09 change-id: 20240909-can-m_can-fix-ifup-770306ca4aca Best regards, -- Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>