[PATCH 1/1] net: spacemit: Check netif_carrier_ok when reading stats
Vivian Wang
wangruikang at iscas.ac.cn
Mon Jan 19 20:16:53 PST 2026
On 1/19/26 23:09, Andrew Lunn wrote:
>> root at OpenWrt:~# ethtool -S eth1
>> [ 71.725539] k1_emac cac81000.ethernet eth1: Read stat timeout
>> NIC statistics:
>> rx_drp_fifo_full_pkts: 0
>> rx_truncate_fifo_full_pkts: 0
>>
>> I just discovered that adding "motorcomm,auto-sleep-disabled" to disable
>> the sleep mode of the MotorComm PHY prevents the problem from occurring.
> This suggests that when the PHY stops the reference clock, the MAC
> hardware stops working. It needs that clock to access
> statistics. Keeping the clock ticking will increase power usage a
> little.
As per suggestion from Chukun, adding realtek,aldps-enable to the DTS on
BananaPi F3 (with, obviously, a Realtek PHY) also reproduces this
problem. So this is a good indication that it really is a problem with
this power saving thing.
> I wounder if anything else stops working? There are some MACs whos DMA
> engine stop working without the reference clock. That can cause
> problems during both probe and remove, or open and close.
At least DMA reset seems to work in this case, so it's probably not as
big of a problem, but at least I would conclude that the HW design
didn't have the reference clock stopping in mind. AFAICT from the DTS
files a bunch of other boards also have motorcomm,auto-sleep-disabled so
at least SpacemiT isn't alone in this.
> So it would be nice to have a better understanding of this. If this
> turns out to be true, maybe a comment by this poll_read_timeout()
> indicating if it does timeout, the PHY might be the problem.
I'll send a patch updating the comments and error prints.
Thanks,
Vivian "dramforever" Wang
More information about the linux-riscv
mailing list