• Scott Wood's avatar
    powerpc/e500: fix breakage with fsl_rio_mcheck_exception · 82a9a480
    Scott Wood authored
    The wrong MCSR bit was being used on e500mc.  MCSR_BUS_RBERR only exists
    on e500v1/v2.  Use MCSR_LD on e500mc, and remove all MCSR checking
    in fsl_rio_mcheck_exception as we now no longer call that function
    if the appropriate bit in MCSR is not set.
    
    If RIO support was enabled at compile-time, but was never probed, just
    return from fsl_rio_mcheck_exception rather than dereference a NULL
    pointer.
    
    TODO: There is still a remaining, though comparitively minor, issue in
    that this recovery mechanism will falsely engage if there's an unrelated
    MCSR_LD event at the same time as a RIO error.
    Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
    Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
    82a9a480
fsl_rio.c 45.9 KB