Hi John, This is our first batch of patches for 3.10. The biggest changes of this pull request are from Johan Hedberg, he implemented a HCI request framework to make life easier when we have to send many HCI commands and a block and wait for all of the to finish, we were able to fix a few issues in stack with the introduction of this framework. Other than that Dean Jenkins did a good work cleaning the RFCOMM code, the refcnt infrastructure was removed and now we use NULL pointer checks to know when a object was freed or not. That code was buggy and now it looks a way better. The rest of changes are clean ups, fixes and small improvements all over the Bluetooth subsystem. Please pull, or let me know of any issues! Thanks. Gustavo --- The following changes since commit 7da060c1c01b103d181dba39bce9bd141a945f99: mwifiex: add WOWLAN support (2013-03-06 16:29:17 -0500) 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 0227c7b56959cd8f5edd20b6a47db86fa553e91a: Bluetooth: fix error return code in rfcomm_add_listener() (2013-03-20 14:17:52 -0300) ---------------------------------------------------------------- Alexandru Gheorghiu (2): Bluetooth: Use PTR_RET function Bluetooth: Replaced kzalloc and memcpy with kmemdup Andre Guedes (7): Bluetooth: Rename hci_acl_disconn Bluetooth: Fix __hci_req_sync Bluetooth: Return ENODATA in hci_req_run Bluetooth: Check hci_req_run returning value in __hci_req_sync Bluetooth: HCI request error handling Bluetooth: Make hci_req_add returning void Bluetooth: Check req->err in hci_req_add David Herrmann (2): Bluetooth: discard bt_sock_unregister() errors Bluetooth: change bt_sock_unregister() to return void Dean Jenkins (6): Bluetooth: Avoid rfcomm_session_timeout using freed session Bluetooth: Check rfcomm session and DLC exists on socket close Bluetooth: Return RFCOMM session ptrs to avoid freed session Bluetooth: Remove RFCOMM session refcnt Bluetooth: Remove redundant call to rfcomm_send_disc Bluetooth: Remove redundant RFCOMM BT_CLOSED settings Johan Hedberg (38): Bluetooth: Rename hci_request to hci_req_sync Bluetooth: Fix __hci_req_sync() handling of empty requests Bluetooth: Split HCI init sequence into three stages Bluetooth: Add initial skeleton for asynchronous HCI requests Bluetooth: Refactor HCI command skb creation Bluetooth: Introduce new hci_req_add function Bluetooth: Fix stand-alone HCI command handling Bluetooth: Add request cmd_complete and cmd_status functions Bluetooth: Use async requests internally in hci_req_sync Bluetooth: Remove unused hdev->init_last_cmd Bluetooth: Remove empty HCI event handlers Bluetooth: Fix endianness handling of cmd_status/complete opcodes Bluetooth: Move power on HCI command updates to their own function Bluetooth: Update mgmt powered HCI commands to use async requests Bluetooth: Wait for HCI command completion with mgmt_set_powered Bluetooth: Fix busy condition testing for EIR and class updates Bluetooth: Fix UUID/class mgmt command response synchronization Bluetooth: Remove useless HCI_PENDING_CLASS flag Bluetooth: Add a define for the HCI persistent flags mask Bluetooth: Clear non-persistent flags when closing HCI device Bluetooth: Fix clearing flags on power off before notifying mgmt Bluetooth: Fix waiting for EIR update when setting local name Bluetooth: Handle AD updating through an async request Bluetooth: Fix local name setting for LE-only controllers Bluetooth: Fix setting local name to the existing value Bluetooth: Use an async request for mgmt_set_connectable Bluetooth: Fix fast connectable response sending Bluetooth: Limit fast connectable support to >= 1.2 controllers Bluetooth: Fix error response for simultaneous fast connectable commands Bluetooth: Add proper flag for fast connectable mode Bluetooth: Refactor fast connectable HCI commands Bluetooth: Disable fast connectable when disabling connectable Bluetooth: Add reading of page scan parameters Bluetooth: Update page scan parameters after successful write commands Bluetooth: Fix updating page scan parameters when not necessary Bluetooth: Fix fast connectable state when enabling page scan Bluetooth: Simplify address parameters of user_pairing_resp() Bluetooth: Fix PIN/Confirm/Passkey response parameters Karl Relton (1): Bluetooth: Make hidp_get_raw_report abort if the session is terminating Lubomir Rintel (1): bluetooth: btmrvl_sdio: look for sd8688 firmware in proper location Wei Yongjun (1): Bluetooth: fix error return code in rfcomm_add_listener() drivers/bluetooth/btmrvl_sdio.c | 8 +- include/net/bluetooth/bluetooth.h | 12 +- include/net/bluetooth/hci.h | 21 +- include/net/bluetooth/hci_core.h | 28 +- include/net/bluetooth/rfcomm.h | 6 - net/bluetooth/a2mp.c | 6 +- net/bluetooth/af_bluetooth.c | 15 +- net/bluetooth/bnep/sock.c | 4 +- net/bluetooth/cmtp/sock.c | 4 +- net/bluetooth/hci_conn.c | 4 +- net/bluetooth/hci_core.c | 727 +++++++++++++++++++++++++++++++++------- net/bluetooth/hci_event.c | 605 ++++++--------------------------- net/bluetooth/hci_sock.c | 9 +- net/bluetooth/hci_sysfs.c | 4 +- net/bluetooth/hidp/core.c | 4 + net/bluetooth/hidp/sock.c | 4 +- net/bluetooth/l2cap_sock.c | 4 +- net/bluetooth/mgmt.c | 680 +++++++++++++++++++++++++------------ net/bluetooth/rfcomm/core.c | 167 +++++---- net/bluetooth/rfcomm/sock.c | 3 +- net/bluetooth/sco.c | 3 +- 21 files changed, 1329 insertions(+), 989 deletions(-)
Attachment:
pgp5yo6WJdRXT.pgp
Description: PGP signature