[RFC][Raring][SRU][Pull Request] Bluetooth update for LP#1065400 and LP#1209124

Jesse Sung jesse.sung at canonical.com
Mon Sep 2 10:27:57 UTC 2013


Hi,

Currently the broadcom firmware loader in the kernel loads firmware
with inserting
certain delay between two commands. This approach does not work well with new
platforms(eg. Lynx Point LP). Kernel 3.10 introduced an approach to
send hci commands synchronously. The firmware loader can make sure
that previous command is completed
before sending out another. It works better and there's no need to
worry about if
the delay is too small or too large.

There's also a demand of supporting intel 7260 bluetooth module. It is
supported by
kernel 3.10, and the support depends on the approach mentioned above.

Related changes and some bug fixes are cherry-picked from 3.10 in this
pull request.
Basically these are all clean merges, and the broadcom firmware
loader, which is an
ubuntu sauce currently, is ported to use this new approach.

This is already tested on several machines, but since the amount of
commits is quite large,
I'd like to have your comments on this. If this looks good for SRU,
I'll do another pull request against quantal.

Thanks.

--

BugLink: https://launchpad.net/bugs/1065400
BugLink: https://launchpad.net/bugs/1209124

The following changes since commit 942bf619e6a9494a775cb1df0a7d993272d05c7f:

  UBUNTU: Ubuntu-3.8.0-30.44 (2013-08-22 15:16:45 -0500)

are available in the git repository at:

  git://kernel.ubuntu.com/jesse/ubuntu-raring.git bt-update

for you to fetch changes up to d7ac7f500318d455077d3a34dedf7d42bb521811:

  Bluetooth: fix wrong use of PTR_ERR() in btusb (2013-08-30 21:05:21 +0800)

----------------------------------------------------------------
Adam Lee (1):
      Bluetooth: fix wrong use of PTR_ERR() in btusb

Andre Guedes (9):
      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
      Bluetooth: Fix HCI request framework
      Bluetooth: Fix hci_inquiry ioctl usage
      Bluetooth: Remove unneeded hci_req_cmd_status function

Fengguang Wu (1):
      Bluetooth: hci_get_cmd_complete() can be static

Johan Hedberg (19):
      Bluetooth: Add LE Local Features reading support
      Bluetooth: Add support for reading LE White List Size
      Bluetooth: Add support for reading LE supported states
      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: Track received events in hdev
      Bluetooth: Add __hci_cmd_sync() helper function
      Bluetooth: Add support for custom event terminated commands
      Bluetooth: Add __hci_cmd_sync_ev function

Marcel Holtmann (1):
      Bluetooth: Add driver setup stage for early init

Tedd Ho-Jeong An (1):
      Bluetooth: Add support for Intel Bluetooth device [8087:07dc]

Wen-chien Jesse Sung (2):
      UBUNTU: SAUCE: Bluetooth: Use setup callback for patchram loading
      UBUNTU: SAUCE: Bluetooth: Remove load_firmware callback

 drivers/bluetooth/btusb.c         | 443
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------
 include/net/bluetooth/bluetooth.h |  11 +++
 include/net/bluetooth/hci.h       |  18 ++++
 include/net/bluetooth/hci_core.h  |  32 +++++--
 net/bluetooth/hci_core.c          | 828
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------
 net/bluetooth/hci_event.c         | 532
++++++++++++++-----------------------------------------------------------------------------------------------
 net/bluetooth/hci_sock.c          |   5 ++
 7 files changed, 1249 insertions(+), 620 deletions(-)




More information about the kernel-team mailing list