net: dsa: mv88e6xxx: Call the common IRQ free code
authorAndrew Lunn <andrew@lunn.ch>
Sun, 25 Mar 2018 21:43:15 +0000 (23:43 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 26 Mar 2018 00:43:41 +0000 (20:43 -0400)
When free'ing the polled IRQs, call the common irq free code.
Otherwise the interrupts are left registered, and when we come to load
the driver a second time, we get an Opps.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6xxx/chip.c

index 3ba77067a3dccd7f3d434ab5aaaac5fe42934ac8..9a5d786b4885abe81d4cbffbee9c5c04405a60eb 100644 (file)
@@ -467,6 +467,8 @@ static int mv88e6xxx_irq_poll_setup(struct mv88e6xxx_chip *chip)
 
 static void mv88e6xxx_irq_poll_free(struct mv88e6xxx_chip *chip)
 {
+       mv88e6xxx_g1_irq_free_common(chip);
+
        kthread_cancel_delayed_work_sync(&chip->irq_poll_work);
        kthread_destroy_worker(chip->kworker);
 }