summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfrançois romieu <romieu@fr.zoreil.com>2010-11-08 13:23:58 +0000
committerDavid S. Miller <davem@davemloft.net>2010-11-09 08:26:43 -0800
commitea80907ff066edd1dd43c5fe90ae6677d15e6384 (patch)
tree0ee8856f3a2f9fe57fc5982a026ada8c0e14795e
parent53f57357ff0afc37804f4e82ee3123e0c0a2cad6 (diff)
r8169: fix sleeping while holding spinlock.
As device_set_wakeup_enable can now sleep, move the call to outside the critical section. Signed-off-by: Daniel J Blueman <daniel.blueman@gmail.com> Acked-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Andrew Hendry <andrew.hendry@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/r8169.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 3a0877e0f97c..4c4d16905efb 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -846,10 +846,10 @@ static int rtl8169_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
else
tp->features &= ~RTL_FEATURE_WOL;
__rtl8169_set_wol(tp, wol->wolopts);
- device_set_wakeup_enable(&tp->pci_dev->dev, wol->wolopts);
-
spin_unlock_irq(&tp->lock);
+ device_set_wakeup_enable(&tp->pci_dev->dev, wol->wolopts);
+
return 0;
}