FLEXCAN timeout on multiple ifup/ifdown

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FLEXCAN timeout on multiple ifup/ifdown

653 Views
smanni
Contributor II

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

Labels (1)
Tags (2)
0 Kudos
Reply
4 Replies

140 Views
smanni
Contributor II

any update?

0 Kudos
Reply

445 Views
smanni
Contributor II

Anyone can help?

0 Kudos
Reply

597 Views
smanni
Contributor II

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

0 Kudos
Reply

609 Views
jimmychan
NXP TechSupport
NXP TechSupport
0 Kudos
Reply