Re: [PATCH 1/2] can: flexcan: only set CAN_STATE_ERROR_ACTIVE when resume has no issue

From: Marc Kleine-Budde
Date: Fri Mar 14 2025 - 05:43:39 EST


On 14.03.2025 10:13:08, Marc Kleine-Budde wrote:
> On 06.03.2025 14:59:20, haibo.chen@xxxxxxx wrote:
> > From: Haibo Chen <haibo.chen@xxxxxxx>
> >
> > Only set CAN state to CAN_STATE_ERROR_ACTIVE when resume process has
> > no issue, otherwise keep in CAN_STATE_SLEEPING as suspend did.
>
> When looking at the code, it makes no sense to set the can.state to
> CAN_STATE_ERROR_ACTIVE, if the device isn't up.
>
> The suspend function doesn't look correct, either. I'll send a v3.

After a suspend/resume cycle on a down interface, it will come up as
ERROR-ACTIVE.

| $ ip -details -s -s a s dev flexcan0
| 3: flexcan0: <NOARP,ECHO> mtu 16 qdisc pfifo_fast state DOWN group default qlen 10
| link/can promiscuity 0 allmulti 0 minmtu 0 maxmtu 0
| can state STOPPED (berr-counter tx 0 rx 0) restart-ms 1000
|
| $ sudo systemctl suspend
|
| $ ip -details -s -s a s dev flexcan0
| 3: flexcan0: <NOARP,ECHO> mtu 16 qdisc pfifo_fast state DOWN group default qlen 10
| link/can promiscuity 0 allmulti 0 minmtu 0 maxmtu 0
| can state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 1000

regards,
Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung Nürnberg | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |

Attachment: signature.asc
Description: PGP signature