Input: sentelic - release mutex upon register write failure
Make sure that mutex is released upon register writing failure. This fixes boot freezing observed on ARM based OLPC (http://dev.laptop.org/ticket/11357). Signed-off-by: Paul Fox <pgf@laptop.org> Signed-off-by: Tai-hwa Liang <avatar@sentelic.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
committed by
Dmitry Torokhov
parent
8521478f67
commit
d9bae67a7a
@@ -162,7 +162,7 @@ static int fsp_reg_write(struct psmouse *psmouse, int reg_addr, int reg_val)
|
|||||||
ps2_sendbyte(ps2dev, v, FSP_CMD_TIMEOUT2);
|
ps2_sendbyte(ps2dev, v, FSP_CMD_TIMEOUT2);
|
||||||
|
|
||||||
if (ps2_sendbyte(ps2dev, 0xf3, FSP_CMD_TIMEOUT) < 0)
|
if (ps2_sendbyte(ps2dev, 0xf3, FSP_CMD_TIMEOUT) < 0)
|
||||||
return -1;
|
goto out;
|
||||||
|
|
||||||
if ((v = fsp_test_invert_cmd(reg_val)) != reg_val) {
|
if ((v = fsp_test_invert_cmd(reg_val)) != reg_val) {
|
||||||
/* inversion is required */
|
/* inversion is required */
|
||||||
@@ -261,7 +261,7 @@ static int fsp_page_reg_write(struct psmouse *psmouse, int reg_val)
|
|||||||
ps2_sendbyte(ps2dev, 0x88, FSP_CMD_TIMEOUT2);
|
ps2_sendbyte(ps2dev, 0x88, FSP_CMD_TIMEOUT2);
|
||||||
|
|
||||||
if (ps2_sendbyte(ps2dev, 0xf3, FSP_CMD_TIMEOUT) < 0)
|
if (ps2_sendbyte(ps2dev, 0xf3, FSP_CMD_TIMEOUT) < 0)
|
||||||
return -1;
|
goto out;
|
||||||
|
|
||||||
if ((v = fsp_test_invert_cmd(reg_val)) != reg_val) {
|
if ((v = fsp_test_invert_cmd(reg_val)) != reg_val) {
|
||||||
ps2_sendbyte(ps2dev, 0x47, FSP_CMD_TIMEOUT2);
|
ps2_sendbyte(ps2dev, 0x47, FSP_CMD_TIMEOUT2);
|
||||||
|
Reference in New Issue
Block a user