i2c: brcmstb: Fix START and STOP conditions
authorJaedon Shin <jaedon.shin@gmail.com>
Fri, 3 Mar 2017 01:55:03 +0000 (10:55 +0900)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 23 Jul 2017 03:07:19 +0000 (03:07 +0000)
commit3a9e3caf7b392f1bb61768010a3483dddd7af8d0
treea4c857de888a67a1ff1ed6c0a7b1ff38bff62779
parent38f132b7466bfba9272993e124ade94e697463a5
i2c: brcmstb: Fix START and STOP conditions

commit 2de3ec4f1d4ba6ee380478055104eb918bd50cce upstream.

The BSC data buffers to send and receive data are each of size 32 bytes
or 8 bytes 'xfersz' depending on SoC. The problem observed for all the
combined message transfer was if length of data transfer was a multiple
of 'xfersz' a repeated START was being transmitted by BSC driver. Fixed
this by appropriately setting START/STOP conditions for such transfers.

Fixes: dd1aa2524bc5 ("i2c: brcmstb: Add Broadcom settop SoC i2c controller driver")
Signed-off-by: Jaedon Shin <jaedon.shin@gmail.com>
Acked-by: Kamal Dasu <kdasu.kdev@gmail.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/i2c/busses/i2c-brcmstb.c