net: ethernet: ave: Avoid lockdep warning
[ Upstream commit5.4-rM2-2.2.x-imx-squashed82d5d6a638
] When building with PROVE_LOCKING=y, lockdep shows the following dump message. INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. ... Calling device_set_wakeup_enable() directly occurs this issue, and it isn't necessary for initialization, so this patch creates internal function __ave_ethtool_set_wol() and replaces with this in ave_init() and ave_resume(). Fixes:7200f2e3c9
("net: ethernet: ave: Set initial wol state to disabled") Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
parent
698f8c2089
commit
591c90ea13
|
@ -424,16 +424,22 @@ static void ave_ethtool_get_wol(struct net_device *ndev,
|
|||
phy_ethtool_get_wol(ndev->phydev, wol);
|
||||
}
|
||||
|
||||
static int __ave_ethtool_set_wol(struct net_device *ndev,
|
||||
struct ethtool_wolinfo *wol)
|
||||
{
|
||||
if (!ndev->phydev ||
|
||||
(wol->wolopts & (WAKE_ARP | WAKE_MAGICSECURE)))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
return phy_ethtool_set_wol(ndev->phydev, wol);
|
||||
}
|
||||
|
||||
static int ave_ethtool_set_wol(struct net_device *ndev,
|
||||
struct ethtool_wolinfo *wol)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (!ndev->phydev ||
|
||||
(wol->wolopts & (WAKE_ARP | WAKE_MAGICSECURE)))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
ret = phy_ethtool_set_wol(ndev->phydev, wol);
|
||||
ret = __ave_ethtool_set_wol(ndev, wol);
|
||||
if (!ret)
|
||||
device_set_wakeup_enable(&ndev->dev, !!wol->wolopts);
|
||||
|
||||
|
@ -1216,7 +1222,7 @@ static int ave_init(struct net_device *ndev)
|
|||
|
||||
/* set wol initial state disabled */
|
||||
wol.wolopts = 0;
|
||||
ave_ethtool_set_wol(ndev, &wol);
|
||||
__ave_ethtool_set_wol(ndev, &wol);
|
||||
|
||||
if (!phy_interface_is_rgmii(phydev))
|
||||
phy_set_max_speed(phydev, SPEED_100);
|
||||
|
@ -1768,7 +1774,7 @@ static int ave_resume(struct device *dev)
|
|||
|
||||
ave_ethtool_get_wol(ndev, &wol);
|
||||
wol.wolopts = priv->wolopts;
|
||||
ave_ethtool_set_wol(ndev, &wol);
|
||||
__ave_ethtool_set_wol(ndev, &wol);
|
||||
|
||||
if (ndev->phydev) {
|
||||
ret = phy_resume(ndev->phydev);
|
||||
|
|
Loading…
Reference in New Issue