diff --git a/drivers/input/keyboard/imx_sc_pwrkey.c b/drivers/input/keyboard/imx_sc_pwrkey.c index af6df5f8ebd3..a5c2a3d4c6a0 100644 --- a/drivers/input/keyboard/imx_sc_pwrkey.c +++ b/drivers/input/keyboard/imx_sc_pwrkey.c @@ -86,7 +86,8 @@ static void imx_sc_check_for_events(struct work_struct *work) */ imx_scu_call_rpc(pdata->ipcHandle, &msg, true); - state = (bool)msg.state; + /* Only care the least 1 byte */ + state = (bool)(msg.state & 0xff); /* * restore status back if press interrupt received but pin's status * released, which caused by pressing so quickly.