lkml.org 
[lkml]   [2010]   [Nov]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
Subject[2.6.37-rc1, patch] gianfar: fix sleep in atomic...
From
Since device_set_wakeup_enable now sleeps, it should not be called
from a critical section. Since wol_en is not updated elsewhere, we can
omit the locking entirely.

Signed-off-by: Daniel J Blueman <daniel.blueman@gmail.com>

diff --git a/drivers/net/gianfar_ethtool.c b/drivers/net/gianfar_ethtool.c
index 5c566eb..e641d7c 100644
--- a/drivers/net/gianfar_ethtool.c
+++ b/drivers/net/gianfar_ethtool.c
@@ -635,10 +635,8 @@ static int gfar_set_wol(struct net_device *dev,
struct ethtool_wolinfo *wol)
if (wol->wolopts & ~WAKE_MAGIC)
return -EINVAL;

- spin_lock_irqsave(&priv->bflock, flags);
priv->wol_en = wol->wolopts & WAKE_MAGIC ? 1 : 0;
device_set_wakeup_enable(&dev->dev, priv->wol_en);
- spin_unlock_irqrestore(&priv->bflock, flags);

return 0;
}
--
Daniel J Blueman

\
 
 \ /
  Last update: 2010-11-02 01:29    [W:0.042 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site