mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 13:48:06 +00:00
realtek: return correct error value for phy ops
A behavioural change was introduced with commit758c88b969
("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:758c88b969
("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>
This commit is contained in:
parent
44e0785285
commit
de2dc3feae
@ -1832,7 +1832,7 @@ int rtl838x_read_phy(u32 port, u32 page, u32 reg, u32 *val)
|
|||||||
timeout:
|
timeout:
|
||||||
mutex_unlock(&smi_lock);
|
mutex_unlock(&smi_lock);
|
||||||
|
|
||||||
return -ETIMEDOUT;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Write to a register in a page of the PHY */
|
/* Write to a register in a page of the PHY */
|
||||||
@ -1868,7 +1868,7 @@ int rtl838x_write_phy(u32 port, u32 page, u32 reg, u32 val)
|
|||||||
timeout:
|
timeout:
|
||||||
mutex_unlock(&smi_lock);
|
mutex_unlock(&smi_lock);
|
||||||
|
|
||||||
return -ETIMEDOUT;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Read an mmd register of a PHY */
|
/* Read an mmd register of a PHY */
|
||||||
|
Loading…
Reference in New Issue
Block a user