Explorar o código

i2c: i2c-cros-ec-tunnel: Set retries to 3

Since the i2c bus can get wedged on the EC sometimes, set the number of retries
to 3. Since we un-wedge the bus immediately after the wedge happens, this is the
correct fix since only one transfer will fail.

Signed-off-by: Derek Basehore <dbasehore@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Derek Basehore %!s(int64=11) %!d(string=hai) anos
pai
achega
9772070608
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      drivers/i2c/busses/i2c-cros-ec-tunnel.c

+ 3 - 0
drivers/i2c/busses/i2c-cros-ec-tunnel.c

@@ -16,6 +16,8 @@
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 #include <linux/slab.h>
 #include <linux/slab.h>
 
 
+#define I2C_MAX_RETRIES 3
+
 /**
 /**
  * struct ec_i2c_device - Driver data for I2C tunnel
  * struct ec_i2c_device - Driver data for I2C tunnel
  *
  *
@@ -290,6 +292,7 @@ static int ec_i2c_probe(struct platform_device *pdev)
 	bus->adap.algo_data = bus;
 	bus->adap.algo_data = bus;
 	bus->adap.dev.parent = &pdev->dev;
 	bus->adap.dev.parent = &pdev->dev;
 	bus->adap.dev.of_node = np;
 	bus->adap.dev.of_node = np;
+	bus->adap.retries = I2C_MAX_RETRIES;
 
 
 	err = i2c_add_adapter(&bus->adap);
 	err = i2c_add_adapter(&bus->adap);
 	if (err) {
 	if (err) {