swconfig: convert swdevs_lock from spinlock to mutex

Should fix some sleep-while-atomic issues

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau 2018-03-12 09:50:33 +01:00
parent b8d9a064f0
commit ed3860c3e3

View file

@ -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 *