--- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c @@ -417,7 +417,7 @@ static int flexcan_chip_freeze(struct fl u32 reg; reg = flexcan_read(®s->mcr); - reg |= FLEXCAN_MCR_HALT; + reg |= FLEXCAN_MCR_FRZ | FLEXCAN_MCR_HALT; flexcan_write(reg, ®s->mcr); while (timeout-- && !(flexcan_read(®s->mcr) & FLEXCAN_MCR_FRZ_ACK))