xilinx_xiic: Fix fill tx fifo loop

Comparison should be against the actual message length, not loop index.

len is used for stopping while loop, pos is position in message.
stop should be sent when entire message is sent, not when
len and pos meet.

hs: fixed DOS line endings

Signed-off-by: Tomas Melin <tomas.melin@vaisala.com>
This commit is contained in:
Melin Tomas 2019-06-28 12:08:31 +00:00 committed by Heiko Schocher
parent 2d1e879c79
commit 5324e8ef6c

View File

@ -149,7 +149,7 @@ static void xiic_fill_tx_fifo(struct xilinx_xiic_priv *priv,
while (len--) {
u16 data = msg->buf[pos++];
if (pos == len && nmsgs == 1) {
if ((msg->len - pos == 0) && nmsgs == 1) {
/* last message in transfer -> STOP */
data |= XIIC_TX_DYN_STOP_MASK;
}