浏览代码

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>
françois romieu 14 年之前
父节点
当前提交
ea80907ff0
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      drivers/net/r8169.c

+ 2 - 2
drivers/net/r8169.c

@@ -846,10 +846,10 @@ static int rtl8169_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
 	else
 	else
 		tp->features &= ~RTL_FEATURE_WOL;
 		tp->features &= ~RTL_FEATURE_WOL;
 	__rtl8169_set_wol(tp, wol->wolopts);
 	__rtl8169_set_wol(tp, wol->wolopts);
-	device_set_wakeup_enable(&tp->pci_dev->dev, wol->wolopts);
-
 	spin_unlock_irq(&tp->lock);
 	spin_unlock_irq(&tp->lock);
 
 
+	device_set_wakeup_enable(&tp->pci_dev->dev, wol->wolopts);
+
 	return 0;
 	return 0;
 }
 }