input: touch: maxim: fix daemon crashing issue
David Jung [Wed, 25 Sep 2013 23:21:32 +0000 (16:21 -0700)]
Nvidia changes to fix the problem when the daemon crashes and the touch
is not responding after resume when display is off.

Bug 1353325

Change-Id: I4a2917ae2070a4a6500d7e03833218534c117250
Signed-off-by: David Jung <djung@nvidia.com>
Reviewed-on: http://git-master/r/279074
(cherry picked from commit 931518312b66555c862137dfbaaebc8e4265cafe)
Reviewed-on: http://git-master/r/288764
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bo Kim <bok@nvidia.com>
Tested-by: Bo Kim <bok@nvidia.com>
Reviewed-by: Gabby Lee <galee@nvidia.com>

drivers/input/touchscreen/maxim_sti.c

index 118159e..457f288 100644 (file)
@@ -887,7 +887,8 @@ nl_process_driver_msg(struct dev_data *dd, u16 msg_id, void *msg)
        int                           ret;
 
        if (dd->expect_resume_ack && msg_id != DR_DECONFIG &&
-           msg_id != DR_RESUME_ACK)
+           msg_id != DR_RESUME_ACK && msg_id != DR_CONFIG_WATCHDOG &&
+               msg_id != DR_ADD_MC_GROUP && msg_id != DR_ECHO_REQUEST)
                return false;
 
        switch (msg_id) {
@@ -1061,6 +1062,7 @@ nl_process_driver_msg(struct dev_data *dd, u16 msg_id, void *msg)
        case DR_CONFIG_WATCHDOG:
                config_watchdog_msg = msg;
                dd->fusion_process = (pid_t)config_watchdog_msg->pid;
+               dd->expect_resume_ack = false;
                return false;
        case DR_DECONFIG:
                if (dd->irq_registered) {