From: Andrei Emeltchenko <andrei.emeltchenko@xxxxxxxxx> Changes: * RFCv5: Fix memory leaks, sparse warnings and taking comments from upstream. * RFCv4: redesign code to use l2cap channel lock instead of socket lock and general modifications. Basic implementation of HCI callback interface. * RFCv3: redesign code to use l2cap functions instead of kernel sockets L2CAP functions modified to work with channels without sk. * RFCv2: rebased against "workqueue" patches. * RFCv1: added refcnt to amp_mgr, fixed sleeping in atomic Initially code was based of reference implementations below: References: Code Aurora (git://codeaurora.org/kernel/msm.git) and Atheros (search for: [PATCH 2/3] Add a2mp protocol/AMP manager, by Atheros Linux BT3) implementations. Andrei Emeltchenko (26): Bluetooth: Add set_err to state_change callback Bluetooth: Lock sk only if exist in state_change Bluetooth: A2MP: Create A2MP channel Bluetooth: A2MP: AMP Manager basic functions Bluetooth: A2MP: Build and Send msg helpers Bluetooth: A2MP: Add chan callbacks Bluetooth: A2MP: Definitions for A2MP commands Bluetooth: A2MP: Define A2MP status codes Bluetooth: A2MP: Process A2MP messages Bluetooth: A2MP: Process A2MP Command Reject Bluetooth: A2MP: Helper functions to count HCI devs Bluetooth: A2MP: Process A2MP Discover Request Bluetooth: A2MP: Process A2MP Change Notify Bluetooth: A2MP: Process A2MP Get Info Request Bluetooth: A2MP: Process A2MP Get AMP Assoc Request Bluetooth: A2MP: Process A2MP Create Physlink Request Bluetooth: A2MP: Process A2MP Disc Physlink Request Bluetooth: A2MP: Process A2MP Command Responses Bluetooth: A2MP: Handling fixed channels Bluetooth: A2MP: Manage incoming connections Bluetooth: physical link HCI interface to AMP Bluetooth: Define AMP controller statuses Bluetooth: General HCI callback implementation Bluetooth: Process HCI callbacks in a workqueue Bluetooth: AMP: Use HCI callback for Read AMP Info Bluetooth: AMP: Read Local Assoc support include/net/bluetooth/a2mp.h | 128 +++++++++ include/net/bluetooth/amp.h | 21 ++ include/net/bluetooth/hci.h | 50 ++++ include/net/bluetooth/hci_core.h | 44 +++ include/net/bluetooth/l2cap.h | 10 +- net/bluetooth/Makefile | 3 +- net/bluetooth/a2mp.c | 537 ++++++++++++++++++++++++++++++++++++++ net/bluetooth/amp.c | 108 ++++++++ net/bluetooth/hci_conn.c | 15 + net/bluetooth/hci_core.c | 168 ++++++++++++ net/bluetooth/hci_event.c | 57 ++++- net/bluetooth/l2cap_core.c | 94 ++++--- net/bluetooth/l2cap_sock.c | 8 +- 13 files changed, 1198 insertions(+), 45 deletions(-) create mode 100644 include/net/bluetooth/a2mp.h create mode 100644 include/net/bluetooth/amp.h create mode 100644 net/bluetooth/a2mp.c create mode 100644 net/bluetooth/amp.c -- 1.7.9.1 -- 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