diff options
Diffstat (limited to 'arch/arm/mach-imx/mcc_imx6sx.c')
-rw-r--r-- | arch/arm/mach-imx/mcc_imx6sx.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm/mach-imx/mcc_imx6sx.c b/arch/arm/mach-imx/mcc_imx6sx.c index b4965bc31d33..cc46d04bc952 100644 --- a/arch/arm/mach-imx/mcc_imx6sx.c +++ b/arch/arm/mach-imx/mcc_imx6sx.c @@ -143,7 +143,7 @@ void mcc_clear_cpu_to_cpu_interrupt(unsigned int core) * * Platform-specific software triggering the inter-CPU interrupts. */ -void mcc_triger_cpu_to_cpu_interrupt(void) +int mcc_triger_cpu_to_cpu_interrupt(void) { int i = 0; u32 val; @@ -157,11 +157,14 @@ void mcc_triger_cpu_to_cpu_interrupt(void) } while (((val & BIT(19)) > 0) && (i++ < 100)); } - if ((val & BIT(19)) == 0) + if ((val & BIT(19)) == 0) { /* Enable the bit19(GIR3) of MU_ACR */ regmap_update_bits(imx_mu_reg, MU_ACR, BIT(19), BIT(19)); - else + return 0; + } else { pr_info("mcc int still be triggered after %d ms polling!\n", i); + return -EIO; + } } /*! |