Hi Vinicius, On Wed, Aug 22, 2012, Vinicius Costa Gomes wrote: > With the HCI_SETUP patches, this is all that is needed to make the > case when a adapter is added with Bluetooth blocked in rfkill to work. > > When rfkill is unblocked, the device will be powered on, and if not > needed it will be automatically powered off. > > Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxxxxxx> > --- > net/bluetooth/hci_core.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c > index fa974a1..395dcc6 100644 > --- a/net/bluetooth/hci_core.c > +++ b/net/bluetooth/hci_core.c > @@ -1061,8 +1061,10 @@ static int hci_rfkill_set_block(void *data, bool blocked) > > BT_DBG("%p name %s blocked %d", hdev, hdev->name, blocked); > > - if (!blocked) > + if (!blocked) { > + schedule_work(&hdev->power_on); Don't you need to check for HCI_SETUP before calling schedule_work here? It should be possible to have an adapter powered off and toggling rfkill back and forth shouldn't cause it to be powered on. Johan -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html