net: dsa: mv88e6xxx: Fix releasing for the global2 interrupts
authorAndrew Lunn <andrew@lunn.ch>
Sun, 20 Nov 2016 19:14:18 +0000 (20:14 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 21 Nov 2016 02:16:13 +0000 (21:16 -0500)
commit8e757eba074fff8460dc91717695e009b5f93f76
treed7c0bf58ed1678e5f34dd02f26f02ff82364f77d
parent3dd0ef05f74693e55549ed790e350af5a392234f
net: dsa: mv88e6xxx: Fix releasing for the global2 interrupts

It is not possible to use devm_request_threaded_irq() because we have
two stacked interrupt controllers in one device. The lower interrupt
controller cannot be removed until the upper is fully removed. This
happens too late with the devm API, resulting in error messages about
removing a domain while there is still an active interrupt. Swap to
using request_threaded_irq() and manage the release of the interrupt
manually.

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