As reported by Uwe Kleine-K�nig, the interrupt trigger is first configured by DT and then reconfigured to edge. This results in a failure on EPROBE_DEFER, or if the module is unloaded and reloaded.
A second crash happens on module reload due to a missing call to the common IRQ free code when using polled interrupts. With these fixes in place, it becomes possible to load and unload the kernel modules a few times without it crashing. Andrew Lunn (2): net: dsa: mv88e6xxx: Use the DT IRQ trigger mode net: dsa: mv88e6xxx: Call the common IRQ free code drivers/net/dsa/mv88e6xxx/chip.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- 2.16.2