From: Mallikarjuna GB Date: Fri, 22 May 2015 08:31:19 +0000 (+0530) Subject: Restarting PM timer for AG while reading OR writing X-Git-Tag: android-x86-7.1-r1~370^2~134 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=846c48f8a8a648302e0584acfe6e8e222d22fd1d;p=android-x86%2Fsystem-bt.git Restarting PM timer for AG while reading OR writing - Once AG receives any data(eg. AT commands) from remote device(HF) and sending the response to remote device, PM(Bluedroid power Manager) timer should be restarted (stop & start) for AG. - Increased the sniff timer value to 7 seconds for AV & AG profiles to avoid sniff related IOT issues. Change-Id: I8c1b79d272391b3fa34b193477a34d561f4c508d --- diff --git a/bta/ag/bta_ag_act.c b/bta/ag/bta_ag_act.c index 1b625d18b..62c4c9d75 100644 --- a/bta/ag/bta_ag_act.c +++ b/bta/ag/bta_ag_act.c @@ -644,6 +644,7 @@ void bta_ag_rfc_data(tBTA_AG_SCB *p_scb, tBTA_AG_DATA *p_data) memset(buf, 0, BTA_AG_RFC_READ_MAX); + APPL_TRACE_DEBUG("bta_ag_rfc_data"); /* do the following */ for(;;) { @@ -660,8 +661,9 @@ void bta_ag_rfc_data(tBTA_AG_SCB *p_scb, tBTA_AG_DATA *p_data) } /* run AT command interpreter on data */ + bta_sys_busy(BTA_ID_AG, p_scb->app_id, p_scb->peer_addr); bta_ag_at_parse(&p_scb->at_cb, buf, len); - + bta_sys_idle(BTA_ID_AG, p_scb->app_id, p_scb->peer_addr); /* no more data to read, we're done */ if (len < BTA_AG_RFC_READ_MAX) { @@ -847,8 +849,11 @@ void bta_ag_ci_rx_data(tBTA_AG_SCB *p_scb, tBTA_AG_DATA *p_data) tBTA_AG_CI_RX_WRITE *p_rx_write_msg = (tBTA_AG_CI_RX_WRITE *)p_data; char *p_data_area = (char *)(p_rx_write_msg+1); /* Point to data area after header */ + APPL_TRACE_DEBUG("bta_ag_ci_rx_data:"); /* send to RFCOMM */ + bta_sys_busy(BTA_ID_AG, p_scb->app_id, p_scb->peer_addr); PORT_WriteData(p_scb->conn_handle, p_data_area, strlen(p_data_area), &len); + bta_sys_idle(BTA_ID_AG, p_scb->app_id, p_scb->peer_addr); } /******************************************************************************* diff --git a/bta/dm/bta_dm_cfg.c b/bta/dm/bta_dm_cfg.c index 9cfdbdf09..8bd5a017d 100644 --- a/bta/dm/bta_dm_cfg.c +++ b/bta/dm/bta_dm_cfg.c @@ -157,15 +157,15 @@ tBTA_DM_PM_TYPE_QUALIFIER tBTA_DM_PM_SPEC bta_dm_pm_spec[BTA_DM_NUM_PM_SPEC] = (BTA_DM_PM_SSR2), /* the SSR entry */ #endif { - {{BTA_DM_PM_SNIFF_A2DP_IDX, 5000}, {BTA_DM_PM_NO_ACTION, 0}}, /* conn open sniff */ + {{BTA_DM_PM_SNIFF_A2DP_IDX, 7000}, {BTA_DM_PM_NO_ACTION, 0}}, /* conn open sniff */ {{BTA_DM_PM_NO_PREF, 0}, {BTA_DM_PM_NO_ACTION, 0}}, /* conn close */ {{BTA_DM_PM_NO_ACTION, 0}, {BTA_DM_PM_NO_ACTION, 0}}, /* app open */ {{BTA_DM_PM_NO_ACTION, 0}, {BTA_DM_PM_NO_ACTION, 0}}, /* app close */ - {{BTA_DM_PM_SNIFF_SCO_OPEN_IDX, 5000}, {BTA_DM_PM_NO_ACTION, 0}}, /* sco open, active */ - {{BTA_DM_PM_SNIFF_A2DP_IDX, 5000}, {BTA_DM_PM_NO_ACTION, 0}}, /* sco close sniff */ + {{BTA_DM_PM_SNIFF_SCO_OPEN_IDX, 7000}, {BTA_DM_PM_NO_ACTION, 0}}, /* sco open, active */ + {{BTA_DM_PM_SNIFF_A2DP_IDX, 7000}, {BTA_DM_PM_NO_ACTION, 0}}, /* sco close sniff */ {{BTA_DM_PM_NO_ACTION, 0}, {BTA_DM_PM_NO_ACTION, 0}}, /* idle */ {{BTA_DM_PM_ACTIVE, 0}, {BTA_DM_PM_NO_ACTION, 0}}, /* busy */ - {{BTA_DM_PM_RETRY, 5000}, {BTA_DM_PM_NO_ACTION, 0}} /* mode change retry */ + {{BTA_DM_PM_RETRY, 7000}, {BTA_DM_PM_NO_ACTION, 0}} /* mode change retry */ } }, @@ -233,13 +233,13 @@ tBTA_DM_PM_TYPE_QUALIFIER tBTA_DM_PM_SPEC bta_dm_pm_spec[BTA_DM_NUM_PM_SPEC] = (BTA_DM_PM_SSR2), /* the SSR entry */ #endif { - {{BTA_DM_PM_SNIFF_A2DP_IDX, 5000}, {BTA_DM_PM_NO_ACTION, 0}}, /* conn open sniff */ + {{BTA_DM_PM_SNIFF_A2DP_IDX, 7000}, {BTA_DM_PM_NO_ACTION, 0}}, /* conn open sniff */ {{BTA_DM_PM_NO_PREF, 0}, {BTA_DM_PM_NO_ACTION, 0}}, /* conn close */ {{BTA_DM_PM_NO_ACTION, 0}, {BTA_DM_PM_NO_ACTION, 0}}, /* app open */ {{BTA_DM_PM_NO_ACTION, 0}, {BTA_DM_PM_NO_ACTION, 0}}, /* app close */ {{BTA_DM_PM_NO_ACTION, 0}, {BTA_DM_PM_NO_ACTION, 0}}, /* sco open */ {{BTA_DM_PM_NO_ACTION, 0}, {BTA_DM_PM_NO_ACTION, 0}}, /* sco close */ - {{BTA_DM_PM_SNIFF_A2DP_IDX, 5000}, {BTA_DM_PM_NO_ACTION, 0}}, /* idle */ + {{BTA_DM_PM_SNIFF_A2DP_IDX, 7000}, {BTA_DM_PM_NO_ACTION, 0}}, /* idle */ {{BTA_DM_PM_ACTIVE, 0}, {BTA_DM_PM_NO_ACTION, 0}}, /* busy */ {{BTA_DM_PM_NO_ACTION, 0}, {BTA_DM_PM_NO_ACTION, 0}} /* mode change retry */ }