summaryrefslogtreecommitdiff
path: root/drivers/i2c/busses/i2c-riic.c
diff options
context:
space:
mode:
authorStefan Agner <stefan.agner@toradex.com>2018-01-24 17:12:03 +0100
committerMax Krummenacher <max.krummenacher@toradex.com>2018-03-08 14:54:44 +0100
commit6c5a561f09a61ca507ce26f04790197f552ccf9a (patch)
tree14690eb1c2973634e221dc317350462128bf4b0b /drivers/i2c/busses/i2c-riic.c
parentfcfdb9c32075501e64751cc6a79fd91d15933692 (diff)
parent2e4575e9ced4a5ac27cf4010c2e975c271b155f7 (diff)
Merge remote-tracking branch 'linux-fslc/4.9-1.0.x-imx' into toradex_4.9-1.0.x-imx-next
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Diffstat (limited to 'drivers/i2c/busses/i2c-riic.c')
-rw-r--r--drivers/i2c/busses/i2c-riic.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-riic.c b/drivers/i2c/busses/i2c-riic.c
index 8f11d347b3ec..c811af4c8d81 100644
--- a/drivers/i2c/busses/i2c-riic.c
+++ b/drivers/i2c/busses/i2c-riic.c
@@ -218,8 +218,12 @@ static irqreturn_t riic_tend_isr(int irq, void *data)
}
if (riic->is_last || riic->err) {
- riic_clear_set_bit(riic, 0, ICIER_SPIE, RIIC_ICIER);
+ riic_clear_set_bit(riic, ICIER_TEIE, ICIER_SPIE, RIIC_ICIER);
writeb(ICCR2_SP, riic->base + RIIC_ICCR2);
+ } else {
+ /* Transfer is complete, but do not send STOP */
+ riic_clear_set_bit(riic, ICIER_TEIE, 0, RIIC_ICIER);
+ complete(&riic->msg_done);
}
return IRQ_HANDLED;