Hi John, Here goes the first Bluetooth pull request for 3.6, we have queued quite a lot of work. Andrei Emeltchenko added the AMP Manager code, a lot of work is needed, but the first bit are already there. This code is disabled by default. Mat Martineau changed the whole L2CAP ERTM state machine code, replacing the old one with a new implementation. Besides that we had lot of coding style fixes (to follow net rules), more l2cap core separation from socket and many clean ups and fixed all over the tree. Please pull, or let me know of any problems. Thanks. Gustavo --- The following changes since commit f8f5701bdaf9134b1f90e5044a82c66324d2073f: Linux 3.5-rc1 (2012-06-02 18:29:26 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next for-upstream for you to fetch changes up to 1d0c4da8f717937aeda47a72bc769d80f8776795: Bluetooth: Fix style in hidp code (2012-06-09 19:22:42 -0300) ---------------------------------------------------------------- Andre Guedes (4): Bluetooth: Change default MTU for L2CAP ATT channel Bluetooth: Check MTU value in l2cap_sock_setsockopt_old Bluetooth: Rename L2CAP_LE_DEFAULT_MTU Bluetooth: Filter duplicated reports in LE scan Andrei Emeltchenko (35): Bluetooth: Silent sparse warnings Bluetooth: Use defined link key size Bluetooth: Preserve L2CAP flags values Bluetooth: trivial: Remove empty line Bluetooth: Define L2CAP conf continuation flag Bluetooth: Define and use PSM identifiers Bluetooth: Use __constant when dealing with constants Bluetooth: Use __constant modifier in HCI code Bluetooth: Define HCI AMP cmd struct Bluetooth: Move clean up code and set of SOCK_ZAPPED to l2cap_sock.c Bluetooth: Add l2cap_chan->ops->ready() Bluetooth: trivial: Use defined PSMLEN instead of magic 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: 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: Do not check func ready existence Bluetooth: A2MP: Do not reference hci_conn Bluetooth: Make l2cap_data_channel return void Bluetooth: Make l2cap_conless_channel return void Bluetooth: Make l2cap_att_channel return void Bluetooth: Remove magic disconnect reason Andrzej Kaczmarek (3): Bluetooth: Allow only one LE connection attempt Bluetooth: Return proper mgmt state when LE pairing connection failed Bluetooth: Fix not removing hci_conn for failed LE connection Bing Zhao (1): Bluetooth: btmrvl: add SD8787 Bluetooth AMP device ID Gustavo Padovan (29): Bluetooth: Fix coding style in mgmt.c Bluetooth: Fix coding style in sco.c Bluetooth: Fix coding style in hci_sock.c Bluetooth: Fix coding style in hci_sysfs.c Bluetooth: Fix coding style in hci_event.c Bluetooth: Fix coding style in hci_conn.c Bluetooth: Fix coding style in hci_core.c Bluetooth: Do not purge queue in Basic Mode Bluetooth: Remove double check for BT_CONNECTED Bluetooth: Remove dead int returns Bluetooth: Fix trailing whitespaces in license text Bluetooth: Remove most of the inline usage Bluetooth: Remove 'register' usage from the subsystem Bluetooth: Fix coding style in include/net/bluetooth Bluetooth: Fix coding style in the subsystem Bluetooth: Remove unnecessary headers include Bluetooth: Remove unneeded EXPORT_SYMBOL Bluetooth: Use lmp_ssp_capable() macro Bluetooth: Get a more accurate L2CAP PDU len Bluetooth: Remove extra l2cap_state_change(BT_CONNECTED) Bluetooth: Use l2cap_chan_ready() in LE path Bluetooth: Use chan as parameters for l2cap chan ops Bluetooth: Use chan->state instead of sk->sk_state Bluetooth: Move check for backlog size to l2cap_sock.c Bluetooth: check for already existent channel before create new one Bluetooth: Create function to return the ERTM header size Bluetooth: Remove unused err var from l2cap_segment_sdu() Bluetooth: Create empty l2cap ops function Bluetooth: Fix style in hidp code Mat Martineau (28): Bluetooth: Free allocated ERTM SREJ list if init fails Bluetooth: Fix early return from l2cap_chan_del Bluetooth: Change default state of ERTM disable flag Bluetooth: Add a new L2CAP ERTM transmit state machine. Bluetooth: Refactor l2cap_streaming_send Bluetooth: Refactor l2cap_ertm_send Bluetooth: Refactor l2cap_send_sframe Bluetooth: Consolidate common receive code for ERTM and streaming mode Bluetooth: Add streaming mode receive and incoming packet classifier Bluetooth: Remove receive code that has been superceded Bluetooth: Refactor l2cap_send_ack Bluetooth: Use the transmit state machine for busy state changes Bluetooth: Update l2cap_send_i_or_rr_or_rnr to fit the spec better Bluetooth: Add the ERTM receive state machine Bluetooth: Add implementation for retransmitting all unacked frames Bluetooth: Send SREJ frames when packets go missing Bluetooth: Reassemble all available data when retransmissions succeed. Bluetooth: Handle SREJ requests to resend unacked frames Bluetooth: Handle incoming REJ frames Bluetooth: Use new header structures in l2cap_send_rr_or_rnr Bluetooth: Check rules when setting retransmit or monitor timers Bluetooth: Use the ERTM transmit state machine from timeout handlers Bluetooth: Simplify the ERTM ack timeout Bluetooth: Remove unneccesary inline Bluetooth: Set txwin values for streaming mode Bluetooth: Remove unused ERTM control field macros Bluetooth: Enable ERTM by default Bluetooth: Send a configuration request after security confirmation Sasha Levin (1): Bluetooth: Really fix registering hci with duplicate name Szymon Janc (2): Bluetooth: Rename HCI_QUIRK_NO_RESET to HCI_QUIRK_RESET_ON_CLOSE Bluetooth: Remove unused HCI timeouts definitions Vinicius Costa Gomes (1): Bluetooth: Fix checking the wrong flag when accepting a socket drivers/bluetooth/bluecard_cs.c | 10 +- drivers/bluetooth/bpa10x.c | 2 +- drivers/bluetooth/bt3c_cs.c | 4 +- drivers/bluetooth/btmrvl_sdio.c | 3 + drivers/bluetooth/btuart_cs.c | 4 +- drivers/bluetooth/btusb.c | 14 +- drivers/bluetooth/dtl1_cs.c | 4 +- drivers/bluetooth/hci_bcsp.c | 2 +- drivers/bluetooth/hci_h4.c | 2 +- drivers/bluetooth/hci_ldisc.c | 2 +- drivers/bluetooth/hci_ll.c | 6 +- include/net/bluetooth/a2mp.h | 126 +++ include/net/bluetooth/bluetooth.h | 39 +- include/net/bluetooth/hci.h | 99 +- include/net/bluetooth/hci_core.h | 29 +- include/net/bluetooth/l2cap.h | 205 +--- net/bluetooth/Makefile | 3 +- net/bluetooth/a2mp.c | 568 +++++++++++ net/bluetooth/af_bluetooth.c | 16 +- net/bluetooth/bnep/core.c | 21 +- net/bluetooth/bnep/netdev.c | 16 +- net/bluetooth/bnep/sock.c | 18 +- net/bluetooth/hci_conn.c | 98 +- net/bluetooth/hci_core.c | 214 ++-- net/bluetooth/hci_event.c | 309 +++--- net/bluetooth/hci_sock.c | 59 +- net/bluetooth/hci_sysfs.c | 99 +- net/bluetooth/hidp/core.c | 26 +- net/bluetooth/hidp/sock.c | 16 +- net/bluetooth/l2cap_core.c | 2125 ++++++++++++++++++++++++--------------- net/bluetooth/l2cap_sock.c | 130 ++- net/bluetooth/lib.c | 7 +- net/bluetooth/mgmt.c | 71 +- net/bluetooth/rfcomm/core.c | 32 +- net/bluetooth/rfcomm/sock.c | 21 +- net/bluetooth/rfcomm/tty.c | 9 +- net/bluetooth/sco.c | 43 +- net/bluetooth/smp.c | 7 +- 38 files changed, 2775 insertions(+), 1684 deletions(-) create mode 100644 include/net/bluetooth/a2mp.h create mode 100644 net/bluetooth/a2mp.c
Attachment:
pgpKuWkPRSRug.pgp
Description: PGP signature