Commit a9b24b35 authored by Daniel Braunwarth's avatar Daniel Braunwarth Committed by Jakub Kicinski
Browse files

net: phy: realtek: add error handling to rtl8211f_get_wol



We should check if the WOL settings was successfully read from the PHY.

In case this fails we cannot just use the error code and proceed.

Signed-off-by: default avatarDaniel Braunwarth <daniel.braunwarth@kuka.com>
Reported-by: default avatarJon Hunter <jonathanh@nvidia.com>
Closes: https://lore.kernel.org/baaa083b-9a69-460f-ab35-2a7cb3246ffd@nvidia.com


Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20250624-realtek_fixes-v1-1-02a0b7c369bc@kuka.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent f6fa45d6
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -436,9 +436,15 @@ static irqreturn_t rtl8211f_handle_interrupt(struct phy_device *phydev)

static void rtl8211f_get_wol(struct phy_device *dev, struct ethtool_wolinfo *wol)
{
	int wol_events;

	wol->supported = WAKE_MAGIC;
	if (phy_read_paged(dev, RTL8211F_WOL_SETTINGS_PAGE, RTL8211F_WOL_SETTINGS_EVENTS)
	    & RTL8211F_WOL_EVENT_MAGIC)

	wol_events = phy_read_paged(dev, RTL8211F_WOL_SETTINGS_PAGE, RTL8211F_WOL_SETTINGS_EVENTS);
	if (wol_events < 0)
		return;

	if (wol_events & RTL8211F_WOL_EVENT_MAGIC)
		wol->wolopts = WAKE_MAGIC;
}