summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSrinu Jella <sjella@codeaurora.org>2013-12-17 19:47:09 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2016-01-17 22:07:39 -0800
commite2f427903d92f1377eefd4c7d7f2b5281cbe52bd (patch)
tree17314e8086a89d1ab24d8e0fb69ec09c00a0f76d
parent1b380b090c6bc188951029e4232e7e13a6c71c15 (diff)
downloadandroid_system_bt-e2f427903d92f1377eefd4c7d7f2b5281cbe52bd.tar.gz
android_system_bt-e2f427903d92f1377eefd4c7d7f2b5281cbe52bd.tar.bz2
android_system_bt-e2f427903d92f1377eefd4c7d7f2b5281cbe52bd.zip
Bluetooth: GAP: Update Paging and inquiry busy level seperately
While updating the busy level of Paging or inquiry '10' was used as BL for paging and inquiry,this leads to ignore the one of them when both of them are active. Made unique busy level for paging related events and inquiry related events, so that each event will be notified. Change-Id: I7bddcb4901061c450555235717b7d49bab922ae8 CRs-Fixed: 960897
-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;