On Sun, Mar 05, 2017 at 03:13:02AM +0100, Matjaz Hegedic wrote: > EeeBook X205TA is yet another ASUS device with a special touchpad > firmware that needs to be accounted for during initialization, or > else the touchpad will go into an invalid state upon suspend/resume. > Adding the appropriate ic_type and product_id check fixes the problem. KT, does this look reasonable? Are there more ASUS models that need such handling? > > Signed-off-by: Matjaz Hegedic <matjaz.hegedic@xxxxxxxxx> > --- > drivers/input/mouse/elan_i2c_core.c | 22 ++++++++++++---------- > 1 file changed, 12 insertions(+), 10 deletions(-) > > diff --git a/drivers/input/mouse/elan_i2c_core.c b/drivers/input/mouse/elan_i2c_core.c > index 2c7d287..dde3ad7 100644 > --- a/drivers/input/mouse/elan_i2c_core.c > +++ b/drivers/input/mouse/elan_i2c_core.c > @@ -218,17 +218,19 @@ static int elan_query_product(struct elan_tp_data *data) > > static int elan_check_ASUS_special_fw(struct elan_tp_data *data) > { > - if (data->ic_type != 0x0E) > - return false; > - > - switch (data->product_id) { > - case 0x05 ... 0x07: > - case 0x09: > - case 0x13: > - return true; > - default: > - return false; > + if (data->ic_type == 0x0E) { > + switch (data->product_id) { > + case 0x05 ... 0x07: > + case 0x09: > + case 0x13: > + return true; > + } > } > + /* ASUS EeeBook X205TA */ > + else if (data->ic_type == 0x8 && data->product_id == 0x26) > + return true; > + > + return false; > } > > static int __elan_initialize(struct elan_tp_data *data) > -- > 2.7.4 > Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html