Input: wdt87xx_i2c - fix the flash erase issue
authorHungNien Chen <hn.chen@weidahitech.com>
Mon, 5 Sep 2016 17:25:36 +0000 (10:25 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 5 Sep 2016 17:31:47 +0000 (10:31 -0700)
The spec says that flash erase time is 30ms typical/200ms max, so let's
replace current 50ms wait with 200ms to avoid potential failures.

Signed-off-by: HungNien Chen <hn.chen@weidahitech.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/wdt87xx_i2c.c

index 73861ad22df43b83b75f28c3bf64cb67160ffd41..a9132603ab3498ecb7d380f2e18131e16fc03dc4 100644 (file)
@@ -23,7 +23,7 @@
 #include <asm/unaligned.h>
 
 #define WDT87XX_NAME           "wdt87xx_i2c"
-#define WDT87XX_DRV_VER                "0.9.7"
+#define WDT87XX_DRV_VER                "0.9.8"
 #define WDT87XX_FW_NAME                "wdt87xx_fw.bin"
 #define WDT87XX_CFG_NAME       "wdt87xx_cfg.bin"
 
 /* Controller requires minimum 300us between commands */
 #define WDT_COMMAND_DELAY_MS           2
 #define WDT_FLASH_WRITE_DELAY_MS       4
+#define WDT_FLASH_ERASE_DELAY_MS       200
 #define WDT_FW_RESET_TIME              2500
 
 struct wdt87xx_sys_param {
@@ -726,7 +727,7 @@ static int wdt87xx_write_firmware(struct i2c_client *client, const void *chunk)
                                break;
                        }
 
-                       msleep(50);
+                       msleep(WDT_FLASH_ERASE_DELAY_MS);
 
                        error = wdt87xx_write_data(client, data, start_addr,
                                                   page_size);