Re: [net,PATCH v1] net: ks8851: Fix receiver error in 100BASE-TX mode following software power-down

From: Sebastian Andrzej Siewior

Date: Tue Sep 01 2026 - 15:47:45 EST


On 2026-09-01 19:39:14 [+0200], Marek Vasut wrote:
> KSZ8851 errata sheet DS80000716D-page 4 Module 3 [1] states that,
> when issuing a software power-down (PMECR[1:0] = 10) followed by a
> power-on (PMECR[1:0] = 00), the receiver circuit can fail to start
> properly preventing communication. The Transmitter will still send
> data, but no data will be received.
>
> The errata sheet also includes a workaround, which states that,
> it is recommended that the software power-down feature not be used.
>
> Implement that workaround and drop the entry into software power-down
> mode. The ks8851_write_mac_addr() calls entry into normal power-on
> mode at the very beginning of the function, therefore dropping the
> second call to enter software power-down mode is sufficient here.
> The ks8851_net_stop() can only be called after ks8851_net_start()
> was already called, and ks8851_net_start() also makes the MAC enter
> normal power-on mode, therefore it is also fine to drop the call to
> enter software power-down mode from ks8851_net_stop().
>
> This will lead to slight increase in power consumption, but it also
> fixes a sporadic problem which occurs at least on KSZ8851-16MLL, on
> which this fix is tested.
>
> [1] https://ww1.microchip.com/downloads/en/DeviceDoc/80000716D.pdf
>
> Fixes: 3ba81f3ece3c ("net: Micrel KS8851 SPI network driver")
> Signed-off-by: Marek Vasut <marex@xxxxxxxxxxxx>

Reviewed-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>

The patch description matches the errata document and the change.

Sebastian