* [PATCH net] net: ethernet: ave: Avoid lockdep warning
@ 2020-01-15 4:02 Kunihiko Hayashi
2020-01-16 12:29 ` David Miller
0 siblings, 1 reply; 2+ messages in thread
From: Kunihiko Hayashi @ 2020-01-15 4:02 UTC (permalink / raw)
To: David S. Miller
Cc: netdev, linux-kernel, Masami Hiramatsu, Jassi Brar, Kunihiko Hayashi
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: 7200f2e3c9e2 ("net: ethernet: ave: Set initial wol state to disabled")
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
---
drivers/net/ethernet/socionext/sni_ave.c | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/socionext/sni_ave.c b/drivers/net/ethernet/socionext/sni_ave.c
index e5478b7..3b4c7e6 100644
--- a/drivers/net/ethernet/socionext/sni_ave.c
+++ b/drivers/net/ethernet/socionext/sni_ave.c
@@ -468,16 +468,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)
+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);
+ return phy_ethtool_set_wol(ndev->phydev, wol);
+}
+
+static int ave_ethtool_set_wol(struct net_device *ndev,
+ struct ethtool_wolinfo *wol)
+{
+ int ret;
+
+ ret = __ave_ethtool_set_wol(ndev, wol);
if (!ret)
device_set_wakeup_enable(&ndev->dev, !!wol->wolopts);
@@ -1260,7 +1266,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);
@@ -1815,7 +1821,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);
--
2.7.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH net] net: ethernet: ave: Avoid lockdep warning
2020-01-15 4:02 [PATCH net] net: ethernet: ave: Avoid lockdep warning Kunihiko Hayashi
@ 2020-01-16 12:29 ` David Miller
0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2020-01-16 12:29 UTC (permalink / raw)
To: hayashi.kunihiko; +Cc: netdev, linux-kernel, masami.hiramatsu, jaswinder.singh
From: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Date: Wed, 15 Jan 2020 13:02:42 +0900
> 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: 7200f2e3c9e2 ("net: ethernet: ave: Set initial wol state to disabled")
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Applied and queued up for -stable, thank you.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-01-16 12:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-15 4:02 [PATCH net] net: ethernet: ave: Avoid lockdep warning Kunihiko Hayashi
2020-01-16 12:29 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).