summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2014-03-24 04:26:03 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2014-03-24 04:26:02 -0700
commitec4b001eb1e99e83d213e99dc55453d7dc410c99 (patch)
treed9749f7fd790b7c089ac9141e5f0d8efdadd3014
parent8acbe3ebe2e09709b7f9c334bd60671acd07c8d2 (diff)
parent7f4272bf393c67e853e795edd7df080943549413 (diff)
Merge "diag: Response for 0x7C command"
-rw-r--r--drivers/char/diag/diagfwd.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/char/diag/diagfwd.c b/drivers/char/diag/diagfwd.c
index 37e7be147b76..3f915390ac0a 100644
--- a/drivers/char/diag/diagfwd.c
+++ b/drivers/char/diag/diagfwd.c
@@ -1728,8 +1728,17 @@ int diag_process_apps_pkt(unsigned char *buf, int len)
encode_rsp_and_send(5);
return 0;
}
- /* Check for ID for NO MODEM present */
- else if (chk_polling_response()) {
+ /*
+ * If the apps processor is master and no other
+ * processor has registered for polling command.
+ * If modem is not up and we have not received feature
+ * mask update from modem, in that case APPS should
+ * respond for 0X7C command
+ */
+ else if (chk_apps_master() &&
+ !(driver->polling_reg_flag) &&
+ !(driver->smd_data[MODEM_DATA].ch) &&
+ !(driver->rcvd_feature_mask[MODEM_DATA])) {
/* respond to 0x0 command */
if (*buf == 0x00) {
for (i = 0; i < 55; i++)