2012-08-14 23:59:48

by Vinicius Costa Gomes

[permalink] [raw]
Subject: [PATCH] Bluetooth: mgmt: Fix returning a list with invalid indexes

When a device is in the HCI_SETUP state, it was being counted as
a valid device, but it wasn't included in the list returned to
userspace.

This can be reproduced when you add an adapter after doing
'rfkill block all', for example.

This commit also has the (intended) effect of making
'btmgmt power on' work after the rfkill block has been lifted.

Signed-off-by: Vinicius Costa Gomes <[email protected]>
---
net/bluetooth/mgmt.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index a3329cb..c500b59 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -350,9 +350,6 @@ static int read_index_list(struct sock *sk, struct hci_dev *hdev, void *data,

i = 0;
list_for_each_entry(d, &hci_dev_list, list) {
- if (test_bit(HCI_SETUP, &d->dev_flags))
- continue;
-
if (!mgmt_valid_hdev(d))
continue;

--
1.7.11.4



2012-08-21 19:12:16

by Vinicius Costa Gomes

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: mgmt: Fix returning a list with invalid indexes

Hi,

On 15:10 Tue 21 Aug, Vinicius Costa Gomes wrote:
> Hi,
>
> On 20:59 Tue 14 Aug, Vinicius Costa Gomes wrote:
> > When a device is in the HCI_SETUP state, it was being counted as
> > a valid device, but it wasn't included in the list returned to
> > userspace.
> >
> > This can be reproduced when you add an adapter after doing
> > 'rfkill block all', for example.
> >
> > This commit also has the (intended) effect of making
> > 'btmgmt power on' work after the rfkill block has been lifted.
> >
> > Signed-off-by: Vinicius Costa Gomes <[email protected]>
>
> bump :-)


Please ignore this patch.

As discussed on IRC, seems that the right solution would be to fix the
num_controllers parameters to not count devices in the HCI_SETUP state
and do a proper power on on the device when it leaves the rfkill blocked
state.


Cheers,
--
Vinicius

2012-08-21 18:10:29

by Vinicius Costa Gomes

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: mgmt: Fix returning a list with invalid indexes

Hi,

On 20:59 Tue 14 Aug, Vinicius Costa Gomes wrote:
> When a device is in the HCI_SETUP state, it was being counted as
> a valid device, but it wasn't included in the list returned to
> userspace.
>
> This can be reproduced when you add an adapter after doing
> 'rfkill block all', for example.
>
> This commit also has the (intended) effect of making
> 'btmgmt power on' work after the rfkill block has been lifted.
>
> Signed-off-by: Vinicius Costa Gomes <[email protected]>

bump :-)


Cheers,
--
Vinicius