aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/files/drivers
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2018-03-12 09:50:33 +0100
committerFelix Fietkau <nbd@nbd.name>2018-03-12 12:50:46 +0100
commited3860c3e3ebe484c00cf603c29e68af28eb0839 (patch)
tree8ba46807ae91d72badb369e834bf067c5f45d437 /target/linux/generic/files/drivers
parentb8d9a064f08614ac6f6b0ec26eab1450cf8b7544 (diff)
downloadupstream-ed3860c3e3ebe484c00cf603c29e68af28eb0839.tar.gz
upstream-ed3860c3e3ebe484c00cf603c29e68af28eb0839.tar.bz2
upstream-ed3860c3e3ebe484c00cf603c29e68af28eb0839.zip
swconfig: convert swdevs_lock from spinlock to mutex
Should fix some sleep-while-atomic issues Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'target/linux/generic/files/drivers')
-rw-r--r--target/linux/generic/files/drivers/net/phy/swconfig.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/swconfig.c b/target/linux/generic/files/drivers/net/phy/swconfig.c
index 78569a9302..e8a684742c 100644
--- a/target/linux/generic/files/drivers/net/phy/swconfig.c
+++ b/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 *