Hi John, A lot of patches to 3.17. The bulk of changes here are for LE support. The 6loWPAN over Bluetooth now has it own module, we also have support for background auto-connection and passive scanning, Bluetooth device address provisioning, support for reading Bluetooth clock values and LE connection parameters plus many many fixes. Also you will note that we have some wireless.git patches in here, we had to pull bluetooth.git into bluetooth-next. You may want to pull from wireless.git first. Please pull! or let me know of any issues. Thanks! Gustavo --- The following changes since commit 15be8e89cdd999124a2307ffd6dacb895c3b802e: b43: add more bcma cores (2014-07-01 14:29:39 -0400) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git for-upstream for you to fetch changes up to 6fea7ad1d338dba592d65423427a997f1b7ff485: Bluetooth: Don't send ERTM configuration option when disabled (2014-07-09 13:53:36 +0300) ---------------------------------------------------------------- Adam Lee (1): Bluetooth: ath3k: reduce pipe setting times in ath3k_load_fwfile() Anantha Krishnan (1): Bluetooth: Add support for Acer [13D3:3432] Andre Guedes (6): Bluetooth: Use macro instead of hard-coded value Bluetooth: Connection parameters check helper Bluetooth: Connection Parameter Update Procedure Bluetooth: Move LE event mask setting into init3 phase Bluetooth: Enable new LE meta event Bluetooth: Introduce "New Connection Parameter" Event Bing Zhao (1): Bluetooth: btmrvl: indicate pscan scheduling instant in a debug event Chin-Ran Lo (2): mwifiex: fix tx_info/rx_info overlap with PCIe dma_mapping Bluetooth: btmrvl: wait for HOST_SLEEP_ENABLE event in suspend Fabian Frederick (1): Bluetooth: constify seq_operations Johan Hedberg (113): Bluetooth: Fix incorrectly overriding conn->src_type Bluetooth: Fix check for connection encryption Bluetooth: Fix SSP acceptor just-works confirmation without MITM Bluetooth: Add clarifying comment for conn->auth_type Bluetooth: Fix setting correct authentication information for SMP STK Bluetooth: Fix indicating discovery state when canceling inquiry Bluetooth: Refactor discovery stopping into its own function Bluetooth: Reuse hci_stop_discovery function when cleaning up HCI state Bluetooth: Fix locking of hdev when calling into SMP code Bluetooth: Fix overriding higher security level in SMP Bluetooth: Refactor authentication method lookup into its own function Bluetooth: Fix rejecting pairing in case of insufficient capabilities Bluetooth: Fix missing NULL check for smp_chan_create() return value Bluetooth: Remove unnecessary SMP STK define Bluetooth: Remove HCI prefix from SMP LTK defines Bluetooth: Remove unused LTK authentication defines Bluetooth: Convert SMP flags into an enum Bluetooth: Add flexible buffer byte order swapping function Bluetooth: Fix validating IO capability values in mgmt commands Bluetooth: Fix checking for master LTKs Bluetooth: Update hci_add_link_key() to return pointer to key Bluetooth: Move mgmt event sending out from hci_add_link_key() Bluetooth: Rename HCI_DEBUG_KEYS to HCI_KEEP_DEBUG_KEYS Bluetooth: Don't store debug keys if flag for them is not set Bluetooth: Convert hcon->flush_key to a proper flag Bluetooth: Fix ignoring debug keys in mgmt_load_link_keys Bluetooth: Add a new HCI_USE_DEBUG_KEYS flag Bluetooth: Add support for mode 0x02 for mgmt_set_debug_keys Bluetooth: Convert hci_conn->link_mode into flags Bluetooth: Fix missing hdev locking in smp_cmd_ident_addr_info Bluetooth: Add dedicated AES instance for each SMP context Bluetooth: Update SMP crypto functions to take the SMP context Bluetooth: Remove unnecessary hci_dev_unlock for smp_user_confirm_reply Bluetooth: Fix missing check for SMP session in smp_user_confirm_reply Bluetooth: Remove unnecessary hcon->smp_conn variable Bluetooth: Use kzalloc instead of kmalloc for pending mgmt commands Bluetooth: Add tracking of local and piconet clock values Bluetooth: Add support for Get Clock Info mgmt command Bluetooth: Allow L2CAP getpeername() for BT_CONFIG state Bluetooth: Fix redundant encryption when receiving Security Request Bluetooth: Add flag to track STK encryption Bluetooth: Allow re-encryption with LTK when STK is in use Bluetooth: Fix redundant device (un)blocked events Bluetooth: Centralize looking up blocked devices to l2cap_recv_frame Bluetooth: Drop LE connections for blocked devices Bluetooth: Fix sparse warning with btmrvl driver Bluetooth: Rename hci_conn_params_clear to hci_conn_params_clear_all Bluetooth: Add specific connection parameter clear functions Bluetooth: Add new auto_conn value matching mgmt action 0x00 Bluetooth: Remove only enabled entries with Remove Device command Bluetooth: Add Load Connection Parameters command Bluetooth: Fix missing update of conn params Bluetooth: Make hci_le_conn_update return the store hint Bluetooth: Pass store hint to mgmt_new_conn_param Bluetooth: Make is_identity_address a global function Bluetooth: Don't send connection parameters without identity address Bluetooth: Track number of added devices with HCI_AUTO_CONN_REPORT Bluetooth: Allow mgmt_device_found events for kernel-side scanning Bluetooth: Add support for background LE scanning Bluetooth: Support scanning for devices using RPA Bluetooth: Fix buffer overflow with variable length commands Bluetooth: Fix missing update of pend_le_reports Bluetooth: Remove redundant IRK lookup Bluetooth: Use hci_conn_params in pend_le_conns Bluetooth: Remove unnecessary checks for auto-connected devices Bluetooth: Add identity address check in param lookup functions Bluetooth: Fix missing return statement in process_adv_report Bluetooth: Convert pend_le_conn list to a generic action list Bluetooth: Convert pend_le_reports into a list Bluetooth: Simplify use of hci_pend_le_conns_clear() Bluetooth: Don't bother doing anything if auto_connect doesn't change Bluetooth: Simplify hci_conn_params->action list usage Bluetooth: Remove unused hci_pend_le_conn_del() function Bluetooth: Fix clearing and restarting all LE actions on power cycle Bluetooth: Remove unnecessary usage of hci_pend_le_conn_add Bluetooth: Remove unused hci_pend_le_conn_add function Bluetooth: Make hci_pend_le_conn_lookup more general purposed Bluetooth: Use hci_pend_le_action_lookup to look up report entries Bluetooth: Don't take actions on blocked devices when scanning Bluetooth: Use list_del when freeing the list entry Bluetooth: Restrict blocked device check in l2cap_recv_frame to LE Bluetooth: Fix sending Device Removed when clearing all parameters Bluetooth: Use lower timeout for LE auto-connections Bluetooth: Fix updating background scan for LE connect complete Bluetooth: Fix connecting devices during LE device discovery Bluetooth: Remove redundant IRK lookup in mgmt_device_found() Bluetooth: Remove unnecessary return value from check_pending_le_conn Bluetooth: Update discovery state earlier in hci_discovery_set_state Bluetooth: Don't let background scanning interfering with discovery Bluetooth: Enable passive scanning whenever we're connectable Bluetooth: Remove auth_type parameter from hci_connect_le() Bluetooth: Pass desired connection role to hci_connect_le() Bluetooth: Don't try background scanning if LE is not enabled Bluetooth: Add flag to track the real advertising state Bluetooth: Remove unnecessary mgmt_advertising function Bluetooth: Use real advertising state to random address update decision Bluetooth: Simplify usage of the enable_advertising function Bluetooth: Use the correct flag to decide to disable advertising Bluetooth: Stop advertising always before initiating a connection Bluetooth: Fix advertising and active scanning co-existence Bluetooth: Fix check for re-enabling advertising Bluetooth: Fix setting STOPPING state for discovery Bluetooth: Fix connectable and discoverable supported settings values Bluetooth: Fix toggling background scan when changing connectable state Bluetooth: Fix clearing HCI_LE_ADV for LE connections Bluetooth: Unify helpers for bdaddr_list manipulations Bluetooth: Introduce a whitelist for BR/EDR devices Bluetooth: Update page scan when necessary for Add/Remove Device Bluetooth: Fix incorrectly setting HCI_CONNECTABLE Bluetooth: Refactor connection request handling Bluetooth: Enable page scan also if there are white list entries Bluetooth: Add white list lookup for incoming connection requests Bluetooth: Fix setting HCI_CONNECTABLE from ioctl code John W. Linville (1): Merge branch 'for-upstream' of git://git.kernel.org/.../bluetooth/bluetooth Jukka Rissanen (5): Bluetooth: Provide L2CAP ops callback for memcpy_fromiovec Bluetooth: 6LoWPAN: Use connected oriented channel instead of fixed one Bluetooth: 6LoWPAN: Create a kernel module Bluetooth: 6LoWPAN: Count module usage Bluetooth: 6LoWPAN: Remove network devices when unloading Jukka Taimisto (1): Bluetooth: Fix deadlock in l2cap_conn_del() Loic Poulain (2): Bluetooth: Ignore H5 non-link packets in non-active state Bluetooth: Remove redundant calls to h5_reset_rx Lukasz Rymanowski (1): Bluetooth: Fix for ACL disconnect when pairing fails Marcel Holtmann (82): Revert "Bluetooth: Add a new PID/VID 0cf3/e005 for AR3012." Merge git://git.kernel.org/.../bluetooth/bluetooth Bluetooth: Use const for struct l2cap_ops field Bluetooth: Assign L2CAP socket priority when allocating SKB Bluetooth: Shrink size of struct l2cap_ctrl fields Bluetooth: Use explicit header and body length for L2CAP SKB allocation Bluetooth: Use struct delayed_work for HCI command timeout Bluetooth: Use separate dbg_flags to special debugfs options Bluetooth: Store current LE connection parameters in hci_conn struct Bluetooth: Track LE connection parameter update event Bluetooth: Set default min/max connection interval for LE slaves Bluetooth: Add support LE slave connection update procedure Bluetooth: Remove ssp_debug_mode debugfs option Bluetooth: Remove reason parameter from hci_amp_disconn function Bluetooth: Remove unneeded hci_conn_disconnect abstraction Bluetooth: Send HCI_Read_Clock_Offset before disconnecting Bluetooth: Increment management interface revision Bluetooth: Restrict access for raw-only controllers Bluetooth: Don't use non-resolvable private address for passive scanning Bluetooth: Move hci_pend_le_conn_* functions to different location Bluetooth: Clear pending connections from hci_conn_params_clear Bluetooth: Update background scanning from hci_conn_params_clear Bluetooth: Store latency and supervision timeout in connection params Bluetooth: Use LE connection parameters if known Bluetooth: Add support for Add/Remove Device management commands Bluetooth: Replace le_auto_conn debugfs with device_list entry Bluetooth: Add Device Added and Device Removed management events Bluetooth: Provide defaults for LE connection latency and timeout Bluetooth: Expose default connection latency setting via debugfs Bluetooth: Expose default supervision timeout setting via debugfs Bluetooth: Provide function to create and set connection parameters Bluetooth: Add default connection parameters before pairing Bluetooth: Start background scanning only when controller is ready Bluetooth: Use bool for smp_ltk_encrypt return value Bluetooth: Change hci_conn_params_add to return the parameter struct Bluetooth: Use hci_conn_params_add within hci_conn_params_set Bluetooth: Remove connection interval parameters from hci_conn_params_set Bluetooth: Fix merge of advertising data and scan response data Bluetooth: Provide flags parameter direct to mgmt_device_found Bluetooth: Add support for Not Connectable flag for Device Found events Bluetooth: Do not trigger background scanning when HCI_AUTO_OFF is set Bluetooth: Ensure that background scanning gets enabled on power on Bluetooth: Add support for hdev->set_bdaddr callback handling Bluetooth: Add public address configration for Broadcom USB devices Bluetooth: Add public address configration for Intel USB devices Bluetooth: Default to internal use manufacturer identifier Bluetooth: Check for default address of Intel USB controllers Bluetooth: Check for default address of Broadcom BCM20702A0 controllers Bluetooth: Introduce unconfigured controller state Bluetooth: Add support for Unconfigured Index Added events Bluetooth: Add support for Unconfigured Index Removed events Bluetooth: Add support for Read Unconfigured Index List command Bluetooth: Support HCI_QUIRK_RAW_DEVICE for hci_vhci driver Bluetooth: Add support for controller configuration info command Bluetooth: Fix constant for public address configuration Bluetooth: Document the existing device quirks Bluetooth: Add quirk for invalid controller address setting Bluetooth: Set HCI_QUIRK_INVALID_BADDR for Intel USB default address Bluetooth: Set HCI_QUIRK_INVALID_BADDR for BCM20702A0 default address Bluetooth: Allow reading configuration info when unconfigured Bluetooth: Add quirk for external configuration requirement Bluetooth: Fix quirks that are valid during setup driver callback Bluetooth: Support HCI_QUIRK_EXTERNAL_CONFIG for hci_vhci driver Bluetooth: Add support for Set External Configuration management command Bluetooth: Move mgmt_event helper function to different location Bluetooth: Add support for New Configuration Options management event Bluetooth: Use a more simpler style for HCI event callbacks Bluetooth: Run special init procedure for unconfigured controllers Bluetooth: Store Bluetooth address from controller setup Bluetooth: Run controller setup after external configuration Bluetooth: Add support for changing the public device address Bluetooth: Clear HCI_RAW flag when controller becomes configured Bluetooth: Add support for Intel bootloader devices Bluetooth: Skip unconfigured init procedure for raw-only devices Bluetooth: Remove module parameters for ignoring USB devices Bluetooth: Handle Intel USB bootloader with buggy interrupt Bluetooth: Ignore isochronous endpoints for Intel USB bootloader Bluetooth: Fix memory leaking when hdev->send returns an error Bluetooth: Enforce providing hdev->send driver callback Bluetooth: Use BTUSB_BROKEN_ISOC flag for CSR USB sniffer devices Bluetooth: Fix enabling Authenticated Payload Timeout Expired event Bluetooth: Don't send ERTM configuration option when disabled Marcin Kraglak (1): Bluetooth: Allow change security level on ATT_CID in slave role Michael Braun (2): rt2800usb:fix efuse detection rt2800usb:fix hang during firmware load Nick Pelly (1): Bluetooth: Fallback to SCO on error code 0x10 (Connection Accept Timeout) Rafał Miłecki (3): b43: disable 5 GHz on G-PHY b43: fix typo in Kconfig (make B43_BUSES_BCMA_AND_SSB the default for real) b43: fix frequency reported on G-PHY with /new/ firmware Stanislaw Gruszka (2): rt2x00: disable TKIP on USB rt2x00: fix rfkill regression on rt2500pci Stephan Gabert (1): Bluetooth: Remove trailing whitespaces from Kconfig drivers/bluetooth/Kconfig | 12 +- drivers/bluetooth/ath3k.c | 8 +- drivers/bluetooth/btmrvl_drv.h | 3 + drivers/bluetooth/btmrvl_main.c | 44 +- drivers/bluetooth/btmrvl_sdio.c | 5 + drivers/bluetooth/btmrvl_sdio.h | 2 + drivers/bluetooth/btusb.c | 188 ++++++- drivers/bluetooth/hci_h5.c | 5 +- drivers/bluetooth/hci_vhci.c | 34 +- drivers/net/wireless/b43/Kconfig | 2 +- drivers/net/wireless/b43/main.c | 1 + drivers/net/wireless/b43/xmit.c | 10 +- drivers/net/wireless/mwifiex/pcie.c | 4 +- drivers/net/wireless/mwifiex/util.h | 43 +- drivers/net/wireless/rt2x00/rt2500pci.c | 7 +- drivers/net/wireless/rt2x00/rt2800usb.c | 39 +- drivers/net/wireless/rt2x00/rt2x00.h | 1 + drivers/net/wireless/rt2x00/rt2x00dev.c | 24 +- drivers/net/wireless/rt2x00/rt2x00mac.c | 2 + drivers/net/wireless/rt2x00/rt2x00usb.h | 1 + include/net/bluetooth/bluetooth.h | 18 +- include/net/bluetooth/hci.h | 135 ++++- include/net/bluetooth/hci_core.h | 134 +++-- include/net/bluetooth/l2cap.h | 36 +- include/net/bluetooth/mgmt.h | 99 ++++ net/bluetooth/6lowpan.c | 857 ++++++++++++++++++++++------- net/bluetooth/6lowpan.h | 47 -- net/bluetooth/Kconfig | 6 +- net/bluetooth/Makefile | 4 +- net/bluetooth/a2mp.c | 8 +- net/bluetooth/af_bluetooth.c | 2 +- net/bluetooth/hci_conn.c | 181 ++++-- net/bluetooth/hci_core.c | 909 ++++++++++++++++--------------- net/bluetooth/hci_event.c | 715 +++++++++++++++++------- net/bluetooth/hci_sock.c | 12 +- net/bluetooth/l2cap_core.c | 152 +++--- net/bluetooth/l2cap_sock.c | 51 +- net/bluetooth/mgmt.c | 1330 +++++++++++++++++++++++++++++++++++++-------- net/bluetooth/smp.c | 244 +++++---- net/bluetooth/smp.h | 7 + 40 files changed, 3883 insertions(+), 1499 deletions(-) delete mode 100644 net/bluetooth/6lowpan.h
Attachment:
pgpKMA352FLpq.pgp
Description: PGP signature