• Thadeu Lima de Souza Cascardo's avatar
    ehea: only register irq after setting up ports · c2f1244b
    Thadeu Lima de Souza Cascardo authored
    If we receive an interrupt too early before we set up ports in the probe
    function, there won't be any port ready to handle it.
    
    Only registering the irq after the ports are setup fixes the problem,
    and works fine without losing any interrupts.
    
    This causes crashes in some situations:
    
    [c000000f7ff7fd60] d000000008e223f0 .ehea_neq_tasklet+0x78/0x148 [ehea]
    [c000000f7ff7fe00] c0000000000b6cac .tasklet_hi_action+0xdc/0x210
    [c000000f7ff7fea0] c0000000000b7cc8 .__do_softirq+0x178/0x300
    [c000000f7ff7ff90] c000000000022694 .call_do_softirq+0x14/0x24
    [c000000f68ee7900] c000000000010e04 .do_softirq+0xec/0x110
    [c000000f68ee79a0] c0000000000b789c .irq_exit+0xac/0xe0
    [c000000f68ee7a20] c0000000000110bc .do_IRQ+0x114/0x2a8
    [c000000f68ee7ae0] c00000000000553c hardware_interrupt_entry+0x18/0x1c
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c2f1244b
ehea_main.c 84 KB