FAILED: patch "[PATCH] can: m_can.c: fix setup of CCCR register: clear CCCR NISO bit" failed to apply to 4.4-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
393753b217f05474e714aea36c37501546ed1202Mon Sep 17 00:00:00 2001
From: Roman Fietze <[email protected]>
Date: Wed, 11 Jul 2018 15:36:14 +0200
Subject: [PATCH] can: m_can.c: fix setup of CCCR register: clear CCCR NISO bit
before checking can.ctrlmode
Inside m_can_chip_config(), when setting up the new value of the CCCR, the CCCR_NISO bit is not cleared like the others, CCCR_TEST, CCCR_MON, CCCR_BRSE and CCCR_FDOE, before checking the can.ctrlmode bits for CAN_CTRLMODE_FD_NON_ISO.
This way once the controller was configured for CAN_CTRLMODE_FD_NON_ISO, this mode could never be cleared again.
This fix is only relevant for controllers with version 3.1.x or 3.2.x. Older versions do not support NISO.
drivers/net/can/m_can/m_can.c +2 -1
@@ -1109,7 +1109,8 @@ static void m_can_chip_config(struct net_device *dev) }else {/* Version 3.1.x or 3.2.x */ - cccr &= ~(CCCR_TEST |CCCR_MON |CCCR_BRSE |CCCR_FDOE ); + cccr &= ~(CCCR_TEST |CCCR_MON |CCCR_BRSE |CCCR_FDOE | +CCCR_NISO );/* Only 3.2.x has NISO Bit implemented */ if (priv->can.ctrlmode &CAN_CTRLMODE_FD_NON_ISO )