aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS8
-rw-r--r--drivers/i2c/busses/i2c-rcar.c6
2 files changed, 13 insertions, 1 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 7f371d372bdd..7ad424b7b8df 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3006,6 +3006,14 @@ S: Supported
3006F: drivers/gpio/gpio-brcmstb.c 3006F: drivers/gpio/gpio-brcmstb.c
3007F: Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt 3007F: Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt
3008 3008
3009BROADCOM BRCMSTB I2C DRIVER
3010M: Kamal Dasu <kdasu.kdev@gmail.com>
3011L: linux-i2c@vger.kernel.org
3012L: bcm-kernel-feedback-list@broadcom.com
3013S: Supported
3014F: drivers/i2c/busses/i2c-brcmstb.c
3015F: Documentation/devicetree/bindings/i2c/i2c-brcmstb.txt
3016
3009BROADCOM BRCMSTB USB2 and USB3 PHY DRIVER 3017BROADCOM BRCMSTB USB2 and USB3 PHY DRIVER
3010M: Al Cooper <alcooperx@gmail.com> 3018M: Al Cooper <alcooperx@gmail.com>
3011L: linux-kernel@vger.kernel.org 3019L: linux-kernel@vger.kernel.org
diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
index 52cf42b32f0a..4aa7dde876f3 100644
--- a/drivers/i2c/busses/i2c-rcar.c
+++ b/drivers/i2c/busses/i2c-rcar.c
@@ -806,8 +806,12 @@ static int rcar_i2c_master_xfer(struct i2c_adapter *adap,
806 806
807 time_left = wait_event_timeout(priv->wait, priv->flags & ID_DONE, 807 time_left = wait_event_timeout(priv->wait, priv->flags & ID_DONE,
808 num * adap->timeout); 808 num * adap->timeout);
809 if (!time_left) { 809
810 /* cleanup DMA if it couldn't complete properly due to an error */
811 if (priv->dma_direction != DMA_NONE)
810 rcar_i2c_cleanup_dma(priv); 812 rcar_i2c_cleanup_dma(priv);
813
814 if (!time_left) {
811 rcar_i2c_init(priv); 815 rcar_i2c_init(priv);
812 ret = -ETIMEDOUT; 816 ret = -ETIMEDOUT;
813 } else if (priv->flags & ID_NACK) { 817 } else if (priv->flags & ID_NACK) {