powerpc/e500: fix breakage with fsl_rio_mcheck_exception
authorScott Wood <scottwood@freescale.com>
Thu, 16 Jun 2011 19:09:17 +0000 (14:09 -0500)
committerKumar Gala <galak@kernel.crashing.org>
Wed, 22 Jun 2011 11:15:16 +0000 (06:15 -0500)
commit82a9a4809f4cb4ce3f17da99a8150df8455fa096
tree06659597671abf80360dd5c89df8aaba26e6962a
parentf3fed682f78dfab384d3dc3f9ca7a7338a93c142
powerpc/e500: fix breakage with fsl_rio_mcheck_exception

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: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/kernel/traps.c
arch/powerpc/sysdev/fsl_rio.c