[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170525170928.GA29859@dtor-ws>
Date: Thu, 25 May 2017 10:09:28 -0700
From: Dmitry Torokhov <dmitry.torokhov@...il.com>
To: KT Liao <kt.liao@....com.tw>
Cc: linux-kernel@...r.kernel.org, linux-input@...r.kernel.org,
phoenix@....com.tw
Subject: Re: [PATCH] Input: elan_i2c - Clean INT stats in FW updating for old
Elan touchpad
On Wed, May 24, 2017 at 05:43:39PM +0800, KT Liao wrote:
> Some old touchapd FWs have interrupt issue after FW updating.
> Use reading 34 bytes before IC reset command to clean INT stauts
> The modification has been tested in some chromebook system
> It should not affect general touchpad in Linux system.
>
> Signed-off-by: KT Liao <kt.liao@....com.tw>
Applied, thank you.
> ---
> drivers/input/mouse/elan_i2c_i2c.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/input/mouse/elan_i2c_i2c.c b/drivers/input/mouse/elan_i2c_i2c.c
> index 3be75c6e..842f852 100644
> --- a/drivers/input/mouse/elan_i2c_i2c.c
> +++ b/drivers/input/mouse/elan_i2c_i2c.c
> @@ -612,7 +612,14 @@ static int elan_i2c_finish_fw_update(struct i2c_client *client,
> long ret;
> int error;
> int len;
> - u8 buffer[ETP_I2C_INF_LENGTH];
> + u8 buffer[ETP_I2C_REPORT_LEN];
> +
> + len = i2c_master_recv(client, buffer, ETP_I2C_REPORT_LEN);
> + if (len != ETP_I2C_REPORT_LEN) {
> + error = len < 0 ? len : -EIO;
> + dev_warn(dev, "failed to read I2C data after FW WDT reset: %d (%d)\n",
> + error, len);
> + }
>
> reinit_completion(completion);
> enable_irq(client->irq);
> --
> 2.7.4
>
--
Dmitry
Powered by blists - more mailing lists