kernel-fxtec-pro1x/net/bluetooth
Marcel Holtmann 8bfe8442ff Bluetooth: Fix controller configuration with HCI_QUIRK_INVALID_BDADDR
When controllers set the HCI_QUIRK_INVALID_BDADDR flag, it is required
by userspace to program a valid public Bluetooth device address into
the controller before it can be used.

After successful address configuration, the internal state changes and
the controller runs the complete initialization procedure. However one
small difference is that this is no longer the HCI_SETUP stage. The
HCI_SETUP stage is only valid during initial controller setup. In this
case the stack runs the initialization as part of the HCI_CONFIG stage.

The controller version information, default name and supported commands
are only stored during HCI_SETUP. While these information are static,
they are not read initially when HCI_QUIRK_INVALID_BDADDR is set. So
when running in HCI_CONFIG state, these information need to be updated
as well.

This especially impacts Bluetooth 4.1 and later controllers using
extended feature pages and second event mask page.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Cc: stable@vger.kernel.org # 3.17+
2014-12-24 20:35:46 +02:00
..
bnep Bluetooth: bnep: bnep_add_connection() should verify that it's dealing with l2cap socket 2014-12-19 13:48:27 +01:00
cmtp Bluetooth: cmtp: cmtp_add_connection() should verify that it's dealing with l2cap socket 2014-12-19 13:48:21 +01:00
hidp Bluetooth: hidp_connection_add() unsafe use of l2cap_pi() 2014-12-19 13:40:07 +01:00
rfcomm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-12-11 14:27:06 -08:00
6lowpan.c Bluetooth: 6lowpan: Do not free skb when packet is dropped 2014-12-19 13:39:50 +01:00
a2mp.c first fruits - kill l2cap ->memcpy_fromiovec() 2014-12-09 16:29:10 -05:00
a2mp.h Bluetooth: Move a2mp.h header file into net/bluetooth/ 2013-10-11 00:10:05 +02:00
af_bluetooth.c Merge tag 'master-2014-12-08' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2014-12-09 18:12:03 -05:00
amp.c Bluetooth: Fix sparse warning in amp.c 2014-11-11 00:07:29 +01:00
amp.h Bluetooth: Move amp.h header file into net/bluetooth/ 2013-10-11 00:10:03 +02:00
ecc.c Bluetooth: Add ECC library for LE Secure Connections 2014-12-03 16:51:16 +01:00
ecc.h Bluetooth: Add ECC library for LE Secure Connections 2014-12-03 16:51:16 +01:00
hci_conn.c Bluetooth: Fix generation of non-resolvable private addresses 2014-12-08 09:21:14 +02:00
hci_core.c Bluetooth: Fix notifying mgmt power off before flushing connection list 2014-12-11 20:57:39 +01:00
hci_event.c Bluetooth: Fix controller configuration with HCI_QUIRK_INVALID_BDADDR 2014-12-24 20:35:46 +02:00
hci_sock.c new helper: memcpy_from_msg() 2014-11-24 04:28:48 -05:00
hci_sysfs.c Bluetooth: Convert to use ATTRIBUTE_GROUPS macro 2014-02-13 09:51:34 +02:00
Kconfig Bluetooth: Add basic support for AES-CMAC 2014-12-03 16:51:16 +01:00
l2cap_core.c Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next 2014-12-15 13:23:09 -05:00
l2cap_sock.c first fruits - kill l2cap ->memcpy_fromiovec() 2014-12-09 16:29:10 -05:00
lib.c Bluetooth: Convert bt_<level> logging functions to return void 2014-09-24 09:40:08 +02:00
Makefile Bluetooth: Add ECC library for LE Secure Connections 2014-12-03 16:51:16 +01:00
mgmt.c Bluetooth: Fix bug with filter in service discovery optimization 2014-12-17 22:03:49 +02:00
sco.c new helper: memcpy_from_msg() 2014-11-24 04:28:48 -05:00
smp.c Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next 2014-12-15 13:23:09 -05:00
smp.h Bluetooth: Fix missing const declarations in SMP functions 2014-12-03 16:51:21 +01:00