This may or may not be related to your problem, but CONFIG_IRQ_ALL_CPUS is inappropriate for the Freescale MPIC, and you're using a kernel that is too old to realize that.
In general, I highly recommend trying with a current kernel. There have been significant changes to the MSI code since 2.6.35, including changing the flow so that fsl_msi_cascade() no longer tries to acquire desc->lock.