Remove WAKE_MAGIC from supported modes if the HW capability register
shows no support for pmt_magic_frame.

Signed-off-by: Jisheng Zhang <jisheng.zh...@synaptics.com>
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c 
b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c
index eae11c585025..9e0af626a24a 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c
@@ -603,6 +603,8 @@ static void stmmac_get_wol(struct net_device *dev, struct 
ethtool_wolinfo *wol)
        mutex_lock(&priv->lock);
        if (device_can_wakeup(priv->device)) {
                wol->supported = WAKE_MAGIC | WAKE_UCAST;
+               if (priv->hw_cap_support && !priv->dma_cap.pmt_magic_frame)
+                       wol->supported &= ~WAKE_MAGIC;
                wol->wolopts = priv->wolopts;
        }
        mutex_unlock(&priv->lock);
-- 
2.28.0.rc0

Reply via email to