[oe] [PATCH] bluez4: two patches for 4.98

Vita Preskovsky vita.preskovsky at gmail.com
Mon Mar 5 13:31:15 UTC 2012


Ping on this

On Wed, Feb 22, 2012 at 4:02 PM, Vita Preskovsky
<vita.preskovsky at gmail.com>wrote:

> * Adding two patches fixing functionality
> of bluez-4.98. The first fixes
> the synchronization between bluetoothd
> and driver. And the second is necessary
> for A2DP to work.
>
>
> Signed-off-by: Vita Preskovsky <vitap at ti.com>
> ---
>  recipes/bluez/bluez4_4.98.bb                       |    2 +
>  .../files/0001-socket-enable-for-bluez-4_98.patch  |   25 ++++++++++
>  ...synchronization-between-bluetoothd-and-dr.patch |   50
> ++++++++++++++++++++
>  3 files changed, 77 insertions(+), 0 deletions(-)
>  create mode 100644
> recipes/bluez/files/0001-socket-enable-for-bluez-4_98.patch
>  create mode 100755
> recipes/bluez/files/0002-bluez4-fix-synchronization-between-bluetoothd-and-dr.patch
>
> diff --git a/recipes/bluez/bluez4_4.98.bb b/recipes/bluez/bluez4_4.98.bb
> index 2303994..1a5fd21 100644
> --- a/recipes/bluez/bluez4_4.98.bb
> +++ b/recipes/bluez/bluez4_4.98.bb
> @@ -3,6 +3,8 @@ require bluez4.inc
>  SRC_URI = "\
>  ${KERNELORG_MIRROR}/pub/linux/bluetooth/bluez-${PV}.tar.gz \
>  file://bluetooth.conf \
> + file://0001-socket-enable-for-bluez-4_98.patch \
> + file://0002-bluez4-fix-synchronization-between-bluetoothd-and-dr.patch \
>  "
>  SRC_URI[md5sum] = "362864b716950baa04797de735fc237b"
>  SRC_URI[sha256sum] =
> "9a5b655bada7c7a1921cb3bac83b8a32bbe49893e4c7a1377cdc1b0d35f7d233"
> diff --git a/recipes/bluez/files/0001-socket-enable-for-bluez-4_98.patch
> b/recipes/bluez/files/0001-socket-enable-for-bluez-4_98.patch
> new file mode 100644
> index 0000000..05cb2ee
> --- /dev/null
> +++ b/recipes/bluez/files/0001-socket-enable-for-bluez-4_98.patch
> @@ -0,0 +1,25 @@
> +From e142a28897c0b0fe9e61259a96dad6fb9f818ecd Mon Sep 17 00:00:00 2001
> +From: Moosa <moosa.baransi at babcomsoftware.com>
> +Date: Wed, 22 Feb 2012 10:06:37 +0200
> +Subject: [PATCH] socket enable for bluez 0_98
> +
> +* This is necessary for working with A2DP
> +---
> + audio/audio.conf |    1 +
> + 1 files changed, 1 insertions(+), 0 deletions(-)
> +
> +diff --git a/audio/audio.conf b/audio/audio.conf
> +index 302e046..9533ada 100644
> +--- a/audio/audio.conf
> ++++ b/audio/audio.conf
> +@@ -3,6 +3,7 @@
> + # This section contains options which are not specific to any
> + # particular interface
> + [General]
> ++Enable=Socket
> +
> + # Switch to master role for incoming connections (defaults to true)
> + #Master=true
> +--
> +1.7.1
> +
> diff --git
> a/recipes/bluez/files/0002-bluez4-fix-synchronization-between-bluetoothd-and-dr.patch
> b/recipes/bluez/files/0002-bluez4-fix-synchronization-between-bluetoothd-and-dr.patch
> new file mode 100755
> index 0000000..4897647
> --- /dev/null
> +++
> b/recipes/bluez/files/0002-bluez4-fix-synchronization-between-bluetoothd-and-dr.patch
> @@ -0,0 +1,50 @@
> +From ddca351e504dc3cb8d91ea10a1863949699c6e50 Mon Sep 17 00:00:00 2001
> +From: Vita Preskovsky <vitap at ti.com>
> +Date: Tue, 13 Dec 2011 22:54:47 +0200
> +Subject: [PATCH] bluez4: fix synchronization between bluetoothd and driver
> +  * To fix situation when bluetoothd doesn't get messages
> +    it expects to receive from the kernel. Therefore the
> +    the required requests are sent again at the stage when device
> +    is up. The mismatch caused to the list of adapters to be
> +    empty.
> +
> +Signed-off-by: Vita Preskovsky <vitap at ti.com>
> +---
> + plugins/hciops.c |   21 +++++++++++++++++++++
> + 1 files changed, 21 insertions(+), 0 deletions(-)
> +
> +diff --git a/plugins/hciops.c b/plugins/hciops.c
> +index ecc0e86..e2198ee 100644
> +--- a/plugins/hciops.c
> ++++ b/plugins/hciops.c
> +@@ -2512,6 +2512,27 @@ static void device_devup_setup(int index)
> +       hci_send_cmd(dev->sk, OGF_HOST_CTL, OCF_READ_STORED_LINK_KEY,
> +                                       READ_STORED_LINK_KEY_CP_SIZE, &cp);
> +
> ++      /* Even though it shouldn't happen it seems like we might miss
> ++       * initialization commands that kernel sends. So we check it here
> ++       * to avoid situation when we have device but it is not in the list
> ++       * of adapters. */
> ++       if (hci_test_bit(PENDING_FEATURES, &dev->pending))
> ++               hci_send_cmd(dev->sk, OGF_INFO_PARAM,
> ++                                       OCF_READ_LOCAL_FEATURES, 0, NULL);
> ++
> ++       if (hci_test_bit(PENDING_VERSION, &dev->pending))
> ++               hci_send_cmd(dev->sk, OGF_INFO_PARAM,
> ++                                       OCF_READ_LOCAL_VERSION, 0, NULL);
> ++
> ++       if (hci_test_bit(PENDING_NAME, &dev->pending))
> ++               hci_send_cmd(dev->sk, OGF_HOST_CTL,
> ++                                       OCF_READ_LOCAL_NAME, 0, NULL);
> ++
> ++       if (hci_test_bit(PENDING_BDADDR, &dev->pending))
> ++               hci_send_cmd(dev->sk, OGF_INFO_PARAM,
> ++                                       OCF_READ_BD_ADDR, 0, NULL);
> ++
> ++
> +       if (!dev->pending)
> +               init_adapter(index);
> + }
> +--
> +1.7.0.4
> +
> --
> 1.7.0.4
>
>



More information about the Openembedded-devel mailing list