Remove the IRQF_SHARED flag as it is not needed for the BHI interrupt and replace it with IRQF_ONESHOT so that host can be sure that the next BHI hard interrupt is triggered only when the threaded interrupt handler has returned. This is to avoid any race conditions we may run into if BHI interrupts fire one after another. Signed-off-by: Bhaumik Bhatt <bbhatt@xxxxxxxxxxxxxx> --- drivers/bus/mhi/core/init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c index ca32563..9ae4c19 100644 --- a/drivers/bus/mhi/core/init.c +++ b/drivers/bus/mhi/core/init.c @@ -167,7 +167,7 @@ int mhi_init_irq_setup(struct mhi_controller *mhi_cntrl) /* Setup BHI_INTVEC IRQ */ ret = request_threaded_irq(mhi_cntrl->irq[0], mhi_intvec_handler, mhi_intvec_threaded_handler, - IRQF_SHARED | IRQF_NO_SUSPEND, + IRQF_ONESHOT | IRQF_NO_SUSPEND, "bhi", mhi_cntrl); if (ret) return ret; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project