• Thomas Taranowski's avatar
    rapidio: fix hang on RapidIO doorbell queue full condition · 12a4dc43
    Thomas Taranowski authored
    In fsl_rio_dbell_handler() the code currently simply acknowledges the QFI
    queue full interrupt, but does nothing to resolve the queue full
    condition.  Instead, it jumps to the end of the isr.  When a queue full
    condition occurs, the isr is then re-entered immediately and continually,
    forever.
    
    The fix is to just fall through and read out current doorbell entries.
    Signed-off-by: default avatarThomas Taranowski <tom@baringforge.com>
    Cc: Alexandre Bounine <alexandre.bounine@idt.com>
    Cc: Kumar Gala <galak@kernel.crashing.org>
    Cc: Matt Porter <mporter@kernel.crashing.org>
    Cc: Li Yang <leoli@freescale.com>
    Cc: Thomas Moll <thomas.moll@sysgo.com>
    Cc: Micha Nelissen <micha@neli.hopto.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Grant Likely <grant.likely@secretlab.ca>
    Cc: <stable@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    12a4dc43
fsl_rio.c 44.3 KB