On Fri, May 5, 2017 at 1:35 AM, Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> wrote: > + > +static int qcom_apcs_ipc_send_data(struct mbox_chan *chan, void *data) > +{ > + struct qcom_apcs_ipc *apcs = container_of(chan->mbox, > + struct qcom_apcs_ipc, mbox); > + unsigned long idx = (unsigned long)chan->con_priv; > + > + writel(BIT(idx), apcs->base + apcs->offset); > + When/how does this bit get ever cleared again? You may want to add last_tx_done() callback to check if this bit is cleared before you can send the next interrupt. And set txdone_poll/irq accordingly. Thanks -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html