Hi,
on a custom design based on i.MX6SX I'm facing a timeout when I try to ifup the interface after an ifdown:
~# ip link set can0 up type can bitrate 500000
~# ip link set can0 down
~# ip link set can0 up type can bitrate 500000
[ 1456.393368] A link change request failed with some changes committed already. Interface can0 may have been left with an inconsistent configuration, please check.
RTNETLINK answers: Connection timed out
As you can see the device is not used after ifup.
Digging into the flexcan driver I found that on ifdown the flexcan_low_power_enter_ack() exits with -ETIMEDOUT because the LPM_ACK bit in FLEXCANx_MCR is never set.
I tried to enlarge the timeout from 250us to 1000us but it does not have any affect.
Have anyone out there ever experienced something like this? Someone of you may try to reproduce the issue on another design or evaluation board with any i.MX.
Thank you.
P.S. the version of BSP I'm using is the lastest one: Linux 6.6.3_1.0.0
any update?
Anyone can help?
Hi,
the patch you suggested is not wothless because I already have this:
#define FLEXCAN_TIMEOUT_US (250)
Do you have any other idea? Could you please try multiple ifup/ifdown on one of yours evaluation board?
Best,
Stefano