summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;