• Sascha Herrmann's avatar
    at86rf230: change irq handling to prevent lockups with edge type irq · 057dad6f
    Sascha Herrmann authored
    Implemented separate irq handling for edge and level type interrupt
    configuration. For edge type interrupts calls to disable_irq_nosync()
    and enable_irq() are removed. The at86rf230 resets the irq line only
    after the irq status register is read. Disabling the irq can lock the
    driver in situations where a irq is set by the radio while the driver
    is still reading the frame buffer.
    
    With irq_type configuration set to 0 the original behavior is
    preserverd.
    
    Additional the irq filter register is set to filter out all unused
    interrupts and the irq status register is read in the probe
    function to clear the irq line.
    Signed-off-by: default avatarSascha Herrmann <sascha@ps.nvbi.de>
    
    Conflicts:
    	drivers/net/ieee802154/at86rf230.c
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    057dad6f
at86rf230.c 24 KB