From: Andrew Lunn Date: Sun, 20 Nov 2016 19:14:19 +0000 (+0100) Subject: net: dsa: mv88e6xxx: Hold the mutex while freeing g1 interrupts X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=61f7c3f8032c840da4fb6b8a8714cb31e0b8ace8;p=linux-beck.git net: dsa: mv88e6xxx: Hold the mutex while freeing g1 interrupts Freeing interrupts requires switch register access to mask the interrupts. Hence we must hold the register mutex. Signed-off-by: Andrew Lunn Signed-off-by: David S. Miller --- diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c index 614b2f68d401..e30d0eaf2b5f 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -3916,8 +3916,11 @@ out_g2_irq: if (mv88e6xxx_has(chip, MV88E6XXX_FLAG_G2_INT) && chip->irq > 0) mv88e6xxx_g2_irq_free(chip); out_g1_irq: - if (chip->irq > 0) + if (chip->irq > 0) { + mutex_lock(&chip->reg_lock); mv88e6xxx_g1_irq_free(chip); + mutex_unlock(&chip->reg_lock); + } out: return err; }