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