Discovering type was confused with adapter settings. With this patch it
is fixed
---
android/bluetooth.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/android/bluetooth.c b/android/bluetooth.c
index 1101b64..6d08a50 100644
--- a/android/bluetooth.c
+++ b/android/bluetooth.c
@@ -2408,14 +2408,13 @@ static void get_adapter_properties(void)
static bool start_discovery(void)
{
struct mgmt_cp_start_discovery cp;
- uint8_t type = 1 << BDADDR_BREDR;
- if (adapter.current_settings & type)
- cp.type = type;
+ if (adapter.current_settings & MGMT_SETTING_BREDR)
+ cp.type = 1 << BDADDR_BREDR;
else
cp.type = 0;
- DBG("type=0x%x", type);
+ DBG("type=0x%x", cp.type);
if (mgmt_send(mgmt_if, MGMT_OP_START_DISCOVERY, adapter.index,
sizeof(cp), &cp, NULL, NULL, NULL) > 0)
@@ -2428,14 +2427,13 @@ static bool start_discovery(void)
static bool stop_discovery(void)
{
struct mgmt_cp_stop_discovery cp;
- uint8_t type = 1 << BDADDR_BREDR;
- if (adapter.current_settings & type)
- cp.type = type;
+ if (adapter.current_settings & MGMT_SETTING_BREDR)
+ cp.type = 1 << BDADDR_BREDR;
else
cp.type = 0;
- DBG("type=0x%x", type);
+ DBG("type=0x%x", cp.type);
if (mgmt_send(mgmt_if, MGMT_OP_STOP_DISCOVERY, adapter.index,
sizeof(cp), &cp, NULL, NULL, NULL) > 0)
--
1.8.4
Hi Ćukasz,
On Friday 07 of March 2014 11:28:29 Lukasz Rymanowski wrote:
> Discovering type was confused with adapter settings. With this patch it
> is fixed
> ---
> android/bluetooth.c | 14 ++++++--------
> 1 file changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/android/bluetooth.c b/android/bluetooth.c
> index 1101b64..6d08a50 100644
> --- a/android/bluetooth.c
> +++ b/android/bluetooth.c
> @@ -2408,14 +2408,13 @@ static void get_adapter_properties(void)
> static bool start_discovery(void)
> {
> struct mgmt_cp_start_discovery cp;
> - uint8_t type = 1 << BDADDR_BREDR;
>
> - if (adapter.current_settings & type)
> - cp.type = type;
> + if (adapter.current_settings & MGMT_SETTING_BREDR)
> + cp.type = 1 << BDADDR_BREDR;
> else
> cp.type = 0;
>
> - DBG("type=0x%x", type);
> + DBG("type=0x%x", cp.type);
>
> if (mgmt_send(mgmt_if, MGMT_OP_START_DISCOVERY, adapter.index,
> sizeof(cp), &cp, NULL, NULL, NULL) > 0)
> @@ -2428,14 +2427,13 @@ static bool start_discovery(void)
> static bool stop_discovery(void)
> {
> struct mgmt_cp_stop_discovery cp;
> - uint8_t type = 1 << BDADDR_BREDR;
>
> - if (adapter.current_settings & type)
> - cp.type = type;
> + if (adapter.current_settings & MGMT_SETTING_BREDR)
> + cp.type = 1 << BDADDR_BREDR;
> else
> cp.type = 0;
>
> - DBG("type=0x%x", type);
> + DBG("type=0x%x", cp.type);
>
> if (mgmt_send(mgmt_if, MGMT_OP_STOP_DISCOVERY, adapter.index,
> sizeof(cp), &cp, NULL, NULL, NULL) > 0)
Both patches applied. Thanks.
--
BR
Szymon Janc
---
android/bluetooth.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/android/bluetooth.c b/android/bluetooth.c
index 6d08a50..c6e40ca 100644
--- a/android/bluetooth.c
+++ b/android/bluetooth.c
@@ -2414,6 +2414,9 @@ static bool start_discovery(void)
else
cp.type = 0;
+ if (adapter.current_settings & MGMT_SETTING_LE)
+ cp.type |= (1 << BDADDR_LE_PUBLIC) | (1 << BDADDR_LE_RANDOM);
+
DBG("type=0x%x", cp.type);
if (mgmt_send(mgmt_if, MGMT_OP_START_DISCOVERY, adapter.index,
@@ -2433,6 +2436,9 @@ static bool stop_discovery(void)
else
cp.type = 0;
+ if (adapter.current_settings & MGMT_SETTING_LE)
+ cp.type |= (1 << BDADDR_LE_PUBLIC) | (1 << BDADDR_LE_RANDOM);
+
DBG("type=0x%x", cp.type);
if (mgmt_send(mgmt_if, MGMT_OP_STOP_DISCOVERY, adapter.index,
--
1.8.4