瀏覽代碼

swconfig: convert swdevs_lock from spinlock to mutex

Should fix some sleep-while-atomic issues

Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau 8 年之前
父節點
當前提交
ed3860c3e3
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      target/linux/generic/files/drivers/net/phy/swconfig.c

+ 3 - 3
target/linux/generic/files/drivers/net/phy/swconfig.c

@@ -36,7 +36,7 @@ MODULE_LICENSE("GPL");
 
 static int swdev_id;
 static struct list_head swdevs;
-static DEFINE_SPINLOCK(swdevs_lock);
+static DEFINE_MUTEX(swdevs_lock);
 struct swconfig_callback;
 
 struct swconfig_callback {
@@ -296,13 +296,13 @@ static struct nla_policy link_policy[SWITCH_LINK_ATTR_MAX] = {
 static inline void
 swconfig_lock(void)
 {
-	spin_lock(&swdevs_lock);
+	mutex_lock(&swdevs_lock);
 }
 
 static inline void
 swconfig_unlock(void)
 {
-	spin_unlock(&swdevs_lock);
+	mutex_unlock(&swdevs_lock);
 }
 
 static struct switch_dev *