summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-02-26 01:22:24 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2016-02-26 01:22:24 -0800
commit15d55328a5fb910fa85ce89fd5c1a7a3c145fc74 (patch)
tree509aaed911168481a7ee12b976cc4825845510ac
parent2e4995fd7c4e2eb921b160ee07df0bf1b1efa1ac (diff)
parente2f427903d92f1377eefd4c7d7f2b5281cbe52bd (diff)
downloadandroid_system_bt-15d55328a5fb910fa85ce89fd5c1a7a3c145fc74.tar.gz
android_system_bt-15d55328a5fb910fa85ce89fd5c1a7a3c145fc74.tar.bz2
android_system_bt-15d55328a5fb910fa85ce89fd5c1a7a3c145fc74.zip
Merge "Bluetooth: GAP: Update Paging and inquiry busy level seperately"
-rw-r--r--stack/btm/btm_acl.c11
-rw-r--r--stack/include/btm_api.h13
2 files changed, 14 insertions, 10 deletions
diff --git a/stack/btm/btm_acl.c b/stack/btm/btm_acl.c
index 795b9f7e9..ba212a16c 100644
--- a/stack/btm/btm_acl.c
+++ b/stack/btm/btm_acl.c
@@ -561,41 +561,44 @@ void btm_acl_update_busy_level (tBTM_BLI_EVENT event)
{
case BTM_BLI_ACL_UP_EVT:
BTM_TRACE_DEBUG ("BTM_BLI_ACL_UP_EVT");
+ busy_level = BTM_GetNumAclLinks();
break;
case BTM_BLI_ACL_DOWN_EVT:
BTM_TRACE_DEBUG ("BTM_BLI_ACL_DOWN_EVT");
+ busy_level = BTM_GetNumAclLinks();
break;
case BTM_BLI_PAGE_EVT:
BTM_TRACE_DEBUG ("BTM_BLI_PAGE_EVT");
btm_cb.is_paging = TRUE;
evt.busy_level_flags= BTM_BL_PAGING_STARTED;
+ busy_level = BTM_BL_PAGING_STARTED;
break;
case BTM_BLI_PAGE_DONE_EVT:
BTM_TRACE_DEBUG ("BTM_BLI_PAGE_DONE_EVT");
btm_cb.is_paging = FALSE;
evt.busy_level_flags = BTM_BL_PAGING_COMPLETE;
+ busy_level = BTM_BL_PAGING_COMPLETE;
break;
case BTM_BLI_INQ_EVT:
BTM_TRACE_DEBUG ("BTM_BLI_INQ_EVT");
btm_cb.is_inquiry = TRUE;
evt.busy_level_flags = BTM_BL_INQUIRY_STARTED;
+ busy_level = BTM_BL_INQUIRY_STARTED;
break;
case BTM_BLI_INQ_CANCEL_EVT:
BTM_TRACE_DEBUG ("BTM_BLI_INQ_CANCEL_EVT");
btm_cb.is_inquiry = FALSE;
evt.busy_level_flags = BTM_BL_INQUIRY_CANCELLED;
+ busy_level = BTM_BL_INQUIRY_COMPLETE;
break;
case BTM_BLI_INQ_DONE_EVT:
BTM_TRACE_DEBUG ("BTM_BLI_INQ_DONE_EVT");
btm_cb.is_inquiry = FALSE;
evt.busy_level_flags = BTM_BL_INQUIRY_COMPLETE;
+ busy_level = BTM_BL_INQUIRY_COMPLETE;
break;
}
- if (btm_cb.is_paging || btm_cb.is_inquiry)
- busy_level = 10;
- else
- busy_level = BTM_GetNumAclLinks();
if ((busy_level != btm_cb.busy_level) ||(old_inquiry_state != btm_cb.is_inquiry))
{
diff --git a/stack/include/btm_api.h b/stack/include/btm_api.h
index 276ada061..a04fb898e 100644
--- a/stack/include/btm_api.h
+++ b/stack/include/btm_api.h
@@ -842,16 +842,17 @@ typedef struct
/* Busy-Level shall have the inquiry_paging mask set when
* inquiry/paging is in progress, Else the number of ACL links */
#define BTM_BL_INQUIRY_PAGING_MASK 0x10
-#define BTM_BL_INQUIRY_STARTED (BTM_BL_INQUIRY_PAGING_MASK | 0x1)
-#define BTM_BL_INQUIRY_CANCELLED (BTM_BL_INQUIRY_PAGING_MASK | 0x2)
-#define BTM_BL_INQUIRY_COMPLETE (BTM_BL_INQUIRY_PAGING_MASK | 0x3)
-#define BTM_BL_PAGING_STARTED (BTM_BL_INQUIRY_PAGING_MASK | 0x4)
-#define BTM_BL_PAGING_COMPLETE (BTM_BL_INQUIRY_PAGING_MASK | 0x5)
+#define BTM_BL_INQUIRY_STARTED (BTM_BL_INQUIRY_PAGING_MASK | 0x5)
+#define BTM_BL_INQUIRY_CANCELLED (BTM_BL_INQUIRY_PAGING_MASK | 0x6)
+#define BTM_BL_INQUIRY_COMPLETE (BTM_BL_INQUIRY_PAGING_MASK | 0x7)
+#define BTM_BL_PAGING_STARTED (BTM_BL_INQUIRY_PAGING_MASK | 0x8)
+#define BTM_BL_PAGING_COMPLETE (BTM_BL_INQUIRY_PAGING_MASK | 0x9)
/* the data type associated with BTM_BL_UPDATE_EVT */
typedef struct
{
tBTM_BL_EVENT event; /* The event reported. */
- UINT8 busy_level;/* when paging or inquiring, level is 10.
+ UINT8 busy_level;/* when paging or inquiring, level is between
+ 21 to 25 as max ACL links can be 20.
* Otherwise, the number of ACL links. */
UINT8 busy_level_flags; /* Notifies actual inquiry/page activities */
} tBTM_BL_UPDATE_DATA;