realtek: return correct error value for phy ops
authorPascal Ernster <git@hardfalcon.net>
Tue, 3 Jan 2023 22:01:11 +0000 (23:01 +0100)
committerSander Vanheule <sander@svanheule.net>
Thu, 5 Jan 2023 22:08:04 +0000 (23:08 +0100)
commitde2dc3feaea7deefcc816fb09167211965fdde9b
treef28a7aed7b2745fd2537b2c71ba70e134910adf7
parent44e07852856e65d4348185ed8042fa8a8c05530f
realtek: return correct error value for phy ops

A behavioural change was introduced with commit 758c88b96963 ("realtek:
Whitespace and codestyle cleanup") causing rtl838x_read_phy() and
rtl838x_write_phy() to unconditionally return -ETIMEDOUT. As a result,
probing the device during boot fails:

    Error setting up netdev, freeing it again.
    rtl838x-eth: probe of 1b00a300.ethernet failed with error -5

Fix the bootloop caused by this regression with kernel 5.15 on rtl838x
devices, by properly returning 0 on success.

Tested on a Netgear GS108T v3, a Netgear GS310TP v1, a Zyxel GS1900-8HP
v1 and an HPE 1920-8G.

Fixes: 758c88b969639d0e6b684669d2e54dd1be3102f4 ("realtek: Whitespace and codestyle cleanup")
Tested-by: Stijn Segers <foss@volatilesystems.org>
Tested-by: Jan Hoffmann <jan@3e8.eu>
Signed-off-by: Pascal Ernster <git@hardfalcon.net>
target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/rtl838x.c