aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiviu Dudau <Liviu.Dudau@arm.com>2014-07-24 12:21:17 +0100
committerJon Medhurst <tixy@linaro.org>2015-03-16 12:00:36 +0000
commitbb05b5d1883ef6b16980a5fa7f878f4a2c635bc0 (patch)
treec5a355d582e2c2b2aafa39666ebef95d51ac83e6
parent17a2d031a6f0b9e7b16a8191aba4592657980961 (diff)
mailbox: mhu: Acknowledge the interrupt only after data is pushed
According to the mailbox documentation the controller should ACK the RX only after it has finished pushing the data up the link. Signed-off-by: Punit Agrawal <Punit.Agrawal@arm.com> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Jon Medhurst <tixy@linaro.org>
-rw-r--r--drivers/mailbox/arm_mhu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mailbox/arm_mhu.c b/drivers/mailbox/arm_mhu.c
index 6256caae9133..5029af71780d 100644
--- a/drivers/mailbox/arm_mhu.c
+++ b/drivers/mailbox/arm_mhu.c
@@ -130,8 +130,8 @@ static irqreturn_t mbox_handler(int irq, void *p)
memcpy(data->rx_buf, payload + RX_PAYLOAD(idx),
data->rx_size);
chan->data = NULL;
- writel(~0, mbox_base + RX_CLEAR(idx));
mbox_chan_received_data(link, data);
+ writel(~0, mbox_base + RX_CLEAR(idx));
}
return IRQ_HANDLED;