aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/dsa/mv88e6xxx/chip.c
diff options
context:
space:
mode:
authorAndrew Lunn <andrew@lunn.ch>2018-03-25 23:43:15 +0200
committerDavid S. Miller <davem@davemloft.net>2018-03-25 20:43:41 -0400
commit71f74ae48c7fd08ffa0c447dfcea6c7fd3dfefc6 (patch)
tree1754e16f6142288d0b52bb08bc8787b03fd5c9d2 /drivers/net/dsa/mv88e6xxx/chip.c
parentnet: dsa: mv88e6xxx: Use the DT IRQ trigger mode (diff)
downloadlinux-dev-71f74ae48c7fd08ffa0c447dfcea6c7fd3dfefc6.tar.xz
linux-dev-71f74ae48c7fd08ffa0c447dfcea6c7fd3dfefc6.zip
net: dsa: mv88e6xxx: Call the common IRQ free code
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>
Diffstat (limited to '')
-rw-r--r--drivers/net/dsa/mv88e6xxx/chip.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
index 3ba77067a3dc..9a5d786b4885 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -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);
}