This makes the workaround for commit
b483f9730b97ba8812340cf1584b491d5aa1e774
(https://gerrit.chromium.org/gerrit/43049, "CHROMIUM: atkbd: workaround
for ChromeOS EC keyboard enable bug") work properly by re-enabling the
keyboard IRQ which was accidentally disabled.
BUG=chrome-os-partner:17810
TEST=tested with > 200 power cycles and > 30 workaround triggers
BRANCH=none
Change-Id: Ia8a817f665a3575eebeb1ba2ec3aa89f80c3e0e3
Signed-off-by: Luigi Semenzato <semenzato@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/43301
dev_warn(&ps2dev->serio->dev, "atkbd: SETLEDS failed");
if (getid_attempts_left <= 0)
return -1;
- else
+ else {
+ ps2_drain(ps2dev, 6, 1);
+ ps2_command(ps2dev, NULL, ATKBD_CMD_ENABLE);
goto getid_retry;
+ }
}
atkbd->id = 0xabba;
return 0;
dev_warn(&ps2dev->serio->dev, "bad keyboard id %d", param[0]);
if (getid_attempts_left <= 0)
return -1;
- else
+ else {
+ ps2_drain(ps2dev, 6, 1);
+ ps2_command(ps2dev, NULL, ATKBD_CMD_ENABLE);
goto getid_retry;
+ }
}
atkbd->id = (param[0] << 8) | param[1];