|
@@ -1245,6 +1245,8 @@ static void elantech_disconnect(struct psmouse *psmouse)
|
|
*/
|
|
*/
|
|
static int elantech_reconnect(struct psmouse *psmouse)
|
|
static int elantech_reconnect(struct psmouse *psmouse)
|
|
{
|
|
{
|
|
|
|
+ psmouse_reset(psmouse);
|
|
|
|
+
|
|
if (elantech_detect(psmouse, 0))
|
|
if (elantech_detect(psmouse, 0))
|
|
return -1;
|
|
return -1;
|
|
|
|
|
|
@@ -1324,6 +1326,8 @@ int elantech_init(struct psmouse *psmouse)
|
|
if (!etd)
|
|
if (!etd)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|
|
|
|
+ psmouse_reset(psmouse);
|
|
|
|
+
|
|
etd->parity[0] = 1;
|
|
etd->parity[0] = 1;
|
|
for (i = 1; i < 256; i++)
|
|
for (i = 1; i < 256; i++)
|
|
etd->parity[i] = etd->parity[i & (i - 1)] ^ 1;
|
|
etd->parity[i] = etd->parity[i & (i - 1)] ^ 1;
|