pull request: bluetooth-next 2014-12-05

From: Johan Hedberg
Date: Fri Dec 05 2014 - 11:42:08 EST

Hi John,

Marcel had a couple more patches that were supposed to be in the pull
request, so here's a new one that supersedes the one I made earlier

In addition to the previous one this contains two more cleanups to
mac802154 as well as support for some new HCI features from the
Bluetooth 4.2 specification.

From the original request:

"Here's what should be the last bluetooth-next pull request for 3.19.
It's rather large but the majority of it is the Low Energy Secure
Connections feature that's part of the Bluetooth 4.2 specification. The
specification went public only this week so we couldn't publish the
corresponding code before that. The code itself can nevertheless be
considered fairly mature as it's been in development for over 6 months
and gone through several interoperability test events.

Besides LE SC the pull request contains an important fix for command
complete events for mgmt sockets which also fixes some leaks of hci_conn
objects when powering off or unplugging Bluetooth adapters.

A smaller feature that's part of the pull request is service discovery
support. This is like normal device discovery except that devices not
matching specific UUIDs or strong enough RSSI are filtered out.

Other changes that the pull request contains are firmware dump support
to the btmrvl driver, firmware download support for Broadcom BCM20702A0
variants, as well as some coding style cleanups in 6lowpan &
ieee802154/mac802154 code."

Please let me know if there are any issues pulling. Thanks.


The following changes since commit f6af675ef5489c69fc3d4faf8c6f477df3cbf8b9:

Bluetooth: Automatically flushable packets aren't allowed on LE links (2014-11-27 12:12:27 +0200)

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 5a34bd5f5d8119def4feb1d2b4e3906b71059416:

Bluetooth: Enable events for P-256 Public Key and DHKey commands (2014-12-05 18:17:49 +0200)

Amitkumar Karwar (1):
Bluetooth: btmrvl: remove extra newline character

Heinrich Siebmanns (1):
Bluetooth: Add support for Broadcom BCM20702A0 variants firmware download

Jakub Pawlowski (4):
Bluetooth: Add definitions for MGMT_OP_START_SERVICE_DISCOVERY
Bluetooth: Add extra discovery fields for storing filter information
Bluetooth: Add logic for UUID filter handling
Bluetooth: Add support for Start Service Discovery command

Johan Hedberg (62):
Bluetooth: Track both local and remote L2CAP fixed channel mask
Bluetooth: Simplify Link Key Notification event handling logic
Bluetooth: Add basic SMP defines for LE Secure Connections
Bluetooth: Make auth_req mask dependent on SC enabled or not
Bluetooth: Add SMP flag for SC and set it when necessary.
Bluetooth: Update SMP security level to/from auth_req for SC
Bluetooth: Add mgmt support for LE Secure Connections LTK types
Bluetooth: Set the correct security level for SC LTKs
Bluetooth: Use custom macro for testing BR/EDR SC enabled
Bluetooth: Add mgmt_set_secure_conn support for any LE adapter
Bluetooth: Update LTK lookup to correctly deal with SC LTKs
Bluetooth: Remove unused hci_find_ltk function
Bluetooth: Rename hci_find_ltk_by_addr to hci_find_ltk
Bluetooth: Set link key generation bit if necessary for LE SC
Bluetooth: Add basic support for AES-CMAC
Bluetooth: Add ECC library for LE Secure Connections
Bluetooth: Add basic support for sending our LE SC public key
Bluetooth: Add handler function for receiving LE SC public key
Bluetooth: Add support for sending LE SC Confirm value
Bluetooth: Add LE SC support for responding to Pairing Confirm PDU
Bluetooth: Add support for LE SC numeric comparison
Bluetooth: Add support for handling LE SC user response
Bluetooth: Add support for LE SC DHKey check PDU
Bluetooth: Add support for LE SC key generation
Bluetooth: Track authentication method in SMP context
Bluetooth: Add selection of the SC authentication method
Bluetooth: Detect SMP SC debug keys
Bluetooth: Add check for accidentally generating a debug key
Bluetooth: Set correct LTK type and authentication for SC
Bluetooth: Add support for SC just-works pairing
Bluetooth: Fix BR/EDR Link Key type when derived through LE SC
Bluetooth: Add passkey entry support for LE SC
Bluetooth: Fix DHKey Check sending order for slave role
Bluetooth: Add dummy handler for LE SC keypress notification
Bluetooth: Use debug keys for SMP when HCI_USE_DEBUG_KEYS is set
Bluetooth: Add hci_conn flag for new link key generation
Bluetooth: Add debugfs switch for forcing SMP over BR/EDR
Bluetooth: Add skeleton for BR/EDR SMP channel
Bluetooth: Add full SMP BR/EDR support
Bluetooth: Add SC-only mode support for SMP
Bluetooth: Unify remote OOB data functions
Bluetooth: Store address type with OOB data
Bluetooth: Add support for adding remote OOB data for LE
Bluetooth: Set SMP OOB flag if OOB data is available
Bluetooth: Add basic LE SC OOB support for remote OOB data
Bluetooth: Introduce SMP_DBG macro for low-level debuging
Bluetooth: Fix missing const declarations in SMP functions
Bluetooth: Organize SMP crypto functions to logical sections
Bluetooth: Fix SMP debug key handling
Bluetooth: Fix minor coding style issue in smp.c
Bluetooth: Fix false-positive "uninitialized" compiler warning
Bluetooth: Add callback to create proper cmd_complete events
Bluetooth: Store parameter length with pending mgmt commands
Bluetooth: Convert Disconnect mgmt command to use cmd_complete callback
Bluetooth: Use cmd_complete callback for authentication mgmt commands
Bluetooth: Convert Pair Device to use cmd_complete callback
Bluetooth: Convert Unpair Device to use cmd_complete callback
Bluetooth: Convert discovery commands to use cmd_complete callback
Bluetooth: Convert Get Clock Info to use cmd_complete callback
Bluetooth: Fix initializing hci_conn RSSI to invalid value
Bluetooth: Fix Get Conn Info to use cmd_complete callback
Bluetooth: Remove redundant reverse_base_uuid variable

Marcel Holtmann (19):
Bluetooth: Increase minor version of core module
Bluetooth: Increment management interface revision
Bluetooth: Simplify the error handling of Start Discovery command
Bluetooth: Use {start,stop}_discovery_complete handler for cmd_complete
Bluetooth: Split triggering of discovery commands into separate function
Bluetooth: Add HCI_RSSI_INVALID for unknown RSSI value
Bluetooth: Filter device found events based on RSSI threshold
Bluetooth: Add framework for device found filtering based on UUID
Bluetooth: Add helper function for clearing the discovery filter
Bluetooth: Fix memory leaks from discovery filter UUID list
Bluetooth: Clear discovery filter before starting background scan
Bluetooth: Fix discovery filter when no RSSI is available
Bluetooth: Report invalid RSSI for service discovery and background scan
Bluetooth: Move LE advertising report defines to the right location
Bluetooth: Add definitions for LE Direct Advertising Report event
Bluetooth: Enabled LE Direct Advertising Report event if supported
Bluetooth: Add support for handling LE Direct Advertising Report events
Bluetooth: Add support for enabling Extended Scanner Filter Policies
Bluetooth: Enable events for P-256 Public Key and DHKey commands

Stefan Schmidt (5):
net/6lowpan: Remove FSF address from GPL statement.
net/ieee802154: Make sure alignment matches parenthesis..
net/ieee802154: Remove and add extra blank lines as needed.
net/mac802154: Remove extra blank lines.
net/mac802154: No need for an extra space when casting

Varka Bhadram (2):
mac802154: use goto label on failure
cc2520: adds terminating newline

Xinming Hu (1):
Bluetooth: btmrvl add firmware dump support

drivers/bluetooth/Kconfig | 1 +
drivers/bluetooth/btmrvl_debugfs.c | 31 +
drivers/bluetooth/btmrvl_drv.h | 20 +
drivers/bluetooth/btmrvl_main.c | 21 +-
drivers/bluetooth/btmrvl_sdio.c | 304 ++++++-
drivers/bluetooth/btmrvl_sdio.h | 5 +
drivers/bluetooth/btusb.c | 3 +-
drivers/net/ieee802154/cc2520.c | 2 +-
include/net/bluetooth/hci.h | 41 +-
include/net/bluetooth/hci_core.h | 38 +-
include/net/bluetooth/l2cap.h | 6 +-
include/net/bluetooth/mgmt.h | 12 +
net/6lowpan/iphc.c | 3 -
net/bluetooth/Kconfig | 1 +
net/bluetooth/Makefile | 2 +-
net/bluetooth/af_bluetooth.c | 2 +-
net/bluetooth/ecc.c | 816 ++++++++++++++++++
net/bluetooth/ecc.h | 54 ++
net/bluetooth/hci_conn.c | 1 +
net/bluetooth/hci_core.c | 200 +++--
net/bluetooth/hci_event.c | 110 ++-
net/bluetooth/l2cap_core.c | 41 +-
net/bluetooth/mgmt.c | 869 ++++++++++++--------
net/bluetooth/smp.c | 1543 ++++++++++++++++++++++++++++++++---
net/bluetooth/smp.h | 51 +-
net/ieee802154/6lowpan_rtnl.c | 1 -
net/ieee802154/af_ieee802154.c | 4 +-
net/ieee802154/dgram.c | 1 -
net/ieee802154/netlink.c | 3 +-
net/ieee802154/nl-mac.c | 14 -
net/ieee802154/nl-phy.c | 1 -
net/ieee802154/raw.c | 1 -
net/mac802154/llsec.c | 19 +-
net/mac802154/mib.c | 6 -
net/mac802154/rx.c | 3 +-
35 files changed, 3576 insertions(+), 654 deletions(-)
create mode 100644 net/bluetooth/ecc.c
create mode 100644 net/bluetooth/ecc.h

Attachment: pgpbCig0VG1AA.pgp
Description: PGP signature