Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

Linux: cpsw driver does not always execute initialization

$
0
0

Tool/software: Linux

Usually I'll get following four lines from dmesg listing during boot:

[    1.061945] cpsw 4a100000.ethernet: Detected MACID = 50:72:24:bf:89:f0
[    1.068955] cpsw 4a100000.ethernet: cpts: overflow check period 850
[   19.916763] net eth0: initializing cpsw version 1.12 (0)
[   19.931858] net eth0: initialized cpsw ale version 1.4
[   19.953312] net eth0: ALE Table size 1024
[   19.978988] net eth0: phy found : id is : 0x7c0f1

One more line is coming if ethernet line is plugged:

[   22.994534] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx

Occasionally I get only first two lines and then ethernet is not available - only loopback interface is listed in ifconfig.

Usually this does not happen very often - below 1/10 of boot times, but when it happens, it can be every 1/3 or more often. Only once I have noticed it in successive boots. I did not notice this behavior with 4.1 kernel. Have anyone else discovered this kind of problem?

Note that at least first and third lines are coming from kernel driver: drivers/net/ethernet/ti/cpsw.c. First one from cpsw_probe_dual_emac fuctio. So, ethernet is probed/found. Initialization message is coming much later when it comes. It seems coming from cpsw_ndo_open function that is assigned to ndo_open field of cpsw_netdev_ops structure that seems to be passed to network device during probe process. Do anyone know what should trigger executing this open function/decide not executing it? I don't see error messages in dmesg listing.

My device is am335x based board running linux kernel 4.4 (linux-ti-staging-rt 4.4), bootloader u-boot-ti-staging 2016.05.

Any help warmly wellcome!!


Thanks,

Matti


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>