diff options
| author | Tristram Ha <[email protected]> | 2024-08-05 23:52:00 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2024-08-07 02:32:54 +0000 |
| commit | c7a19018bd557c24072b59088ad2684fd83ea3f4 (patch) | |
| tree | 44d15f5e2f7f6ea119c294bd8b1fd56769bbab8d /drivers/net/dsa/microchip/ksz_common.c | |
| parent | net: linkwatch: use system_unbound_wq (diff) | |
| download | kernel-c7a19018bd557c24072b59088ad2684fd83ea3f4.tar.gz kernel-c7a19018bd557c24072b59088ad2684fd83ea3f4.zip | |
net: dsa: microchip: Fix Wake-on-LAN check to not return an error
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: 3b454b6390c3 ("net: dsa: microchip: ksz9477: Add Wake on Magic Packet support")
Signed-off-by: Tristram Ha <[email protected]>
Reviewed-by: Oleksij Rempel <[email protected]>
Reviewed-by: Florian Fainelli <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'drivers/net/dsa/microchip/ksz_common.c')
| -rw-r--r-- | drivers/net/dsa/microchip/ksz_common.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c index b074b4bb0629..b120e66d5669 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -3764,6 +3764,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, |
