Просмотр исходного кода

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 лет назад
Родитель
Сommit
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 *