net: dsa: microchip: Fix Wake-on-LAN check to not return an error
BugLink: https://bugs.launchpad.net/bugs/2083656
[ Upstream commit c7a19018bd557c24072b59088ad2684fd83ea3f4 ]
The wol variable in ksz_port_set_mac_address() is declared with random
data, but the code in ksz_get_wol call may not be executed so the
WAKE_MAGIC check may be invalid resulting in an error message when
setting a MAC address after starting the DSA driver.
Fixes: 3b454b6390 ("net: dsa: microchip: ksz9477: Add Wake on Magic Packet support")
Signed-off-by: Tristram Ha <tristram.ha@microchip.com>
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20240805235200.24982-1-Tristram.Ha@microchip.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Koichiro Den <koichiro.den@canonical.com>
Signed-off-by: Roxana Nicolescu <roxana.nicolescu@canonical.com>
This commit is contained in:
committed by
Mehmet Basaran
parent
e3983c1133
commit
1936dc43fa
@@ -3602,6 +3602,11 @@ static int ksz_port_set_mac_address(struct dsa_switch *ds, int port,
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
/* Need to initialize variable as the code to fill in settings may
|
||||
* not be executed.
|
||||
*/
|
||||
wol.wolopts = 0;
|
||||
|
||||
ksz_get_wol(ds, dp->index, &wol);
|
||||
if (wol.wolopts & WAKE_MAGIC) {
|
||||
dev_err(ds->dev,
|
||||
|
||||
Reference in New Issue
Block a user