linux/net/bluetooth
Johan Hedberg ab81cbf99c Bluetooth: Implement automatic setup procedure for local adapters
This patch implements automatic initialization of basic information
about newly registered Bluetooth adapters. E.g. the address and features
are always needed so it makes sense for the kernel to automatically
power on adapters and read this information. A new HCI_SETUP flag is
added to track this state.

In order to not consume unnecessary amounts of power if there isn't a
user space available that could switch the adapter back off, a timer is
added to do this automatically as long as no Bluetooth user space seems
to be present. A new HCI_AUTO_OFF flag is added that user space needs to
clear to avoid the automatic power off.

Additionally, the management interface index_added event is moved to the
end of the HCI_SETUP stage so a user space supporting the managment
inteface has all the necessary information available for fetching when
it gets notified of a new adapter. The HCI_DEV_REG event is kept in the
same place as before since existing HCI raw socket based user space
versions depend on seeing the kernels initialization sequence
(hci_init_req) to determine when the adapter is ready for use.

Signed-off-by: Johan Hedberg <johan.hedberg@nokia.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
2011-02-08 01:40:04 -02:00
..
bnep Bluetooth: bnep: fix information leak to userland 2010-12-01 21:04:35 -02:00
cmtp Bluetooth: cmtp: fix information leak to userland 2010-12-01 21:04:35 -02:00
hidp Bluetooth: hidp: fix information leak to userland 2010-12-01 21:04:36 -02:00
rfcomm Bluetooth: Never deallocate a session when some DLC points to it 2011-01-19 14:40:42 -02:00
Kconfig Bluetooth: Remove L2CAP Extended Features from Kconfig 2010-07-21 10:39:04 -07:00
Makefile Bluetooth: Add initial Bluetooth Management interface callbacks 2010-12-07 23:03:38 -02:00
af_bluetooth.c Bluetooth: Add common code for stream-oriented recvmsg() 2010-10-12 12:44:51 -03:00
hci_conn.c Bluetooth: Fix race condition with conn->sec_level 2011-01-19 14:43:11 -02:00
hci_core.c Bluetooth: Implement automatic setup procedure for local adapters 2011-02-08 01:40:04 -02:00
hci_event.c Bluetooth: Fix race condition with conn->sec_level 2011-01-19 14:43:11 -02:00
hci_sock.c Bluetooth: Improve handling of HCI control channel in bind 2010-12-22 23:00:34 -02:00
hci_sysfs.c Bluetooth: make batostr() print in the right order 2010-10-12 12:44:52 -03:00
l2cap.c Bluetooth: Fix setting of MTU for ERTM and Streaming Mode 2011-02-08 01:40:04 -02:00
lib.c Bluetooth: make batostr() print in the right order 2010-10-12 12:44:52 -03:00
mgmt.c Bluetooth: Implement automatic setup procedure for local adapters 2011-02-08 01:40:04 -02:00
sco.c Bluetooth: clean up sco code 2010-12-01 21:04:43 -02:00