drivers: flexcan: fix loopback mode
Fix CAN loopback mode in the NXP MCUX FlexCAN driver by only disabling self-reception when loopback mode was not requested. Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This commit is contained in:
parent
cc5125d147
commit
00f0fb73fd
1 changed files with 4 additions and 2 deletions
|
@ -165,8 +165,10 @@ static int mcux_flexcan_configure(struct device *dev, enum can_mode mode,
|
|||
if (mode == CAN_SILENT_MODE || mode == CAN_SILENT_LOOPBACK_MODE) {
|
||||
config->base->CTRL1 |= CAN_CTRL1_LOM(1);
|
||||
}
|
||||
/* Disable self reception */
|
||||
if (mode != CAN_LOOPBACK_MODE && mode != CAN_SILENT_LOOPBACK_MODE) {
|
||||
/* Disable self-reception unless loopback is requested */
|
||||
config->base->MCR |= CAN_MCR_SRXDIS(1);
|
||||
}
|
||||
mcux_flexcan_thaw(dev);
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue