From 7e6c35fe602df6821b3e7db5b1ba656162750fda Mon Sep 17 00:00:00 2001 From: Abhishek Sahu Date: Mon, 12 Mar 2018 18:44:55 +0530 Subject: [PATCH 06/13] i2c: qup: fix the transfer length for BAM RX EOT FLUSH tags In case of FLUSH operation, BAM copies INPUT EOT FLUSH (0x94) instead of normal EOT (0x93) tag in input data stream when an input EOT tag is received during flush operation. So only one tag will be written instead of 2 separate tags. Signed-off-by: Abhishek Sahu Reviewed-by: Andy Gross Signed-off-by: Wolfram Sang --- drivers/i2c/busses/i2c-qup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/i2c/busses/i2c-qup.c +++ b/drivers/i2c/busses/i2c-qup.c @@ -774,10 +774,10 @@ static int qup_i2c_bam_do_xfer(struct qu qup->btx.tag.start[0] = QUP_BAM_INPUT_EOT; len++; - /* scratch buf to read the BAM EOT and FLUSH tags */ + /* scratch buf to read the BAM EOT FLUSH tags */ ret = qup_sg_set_buf(&qup->brx.sg[rx_cnt++], &qup->brx.tag.start[0], - 2, qup, DMA_FROM_DEVICE); + 1, qup, DMA_FROM_DEVICE); if (ret) return ret; }