diff mbox series

[BlueZ,v1] bap: Don't attempt to release if old state was releasing

Message ID 20231208221219.54529-1-luiz.dentz@gmail.com
State New
Headers show
Series [BlueZ,v1] bap: Don't attempt to release if old state was releasing | expand

Commit Message

Luiz Augusto von Dentz Dec. 8, 2023, 10:12 p.m. UTC
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

If the old state was releasing there is no reason to call
bt_bap_stream_release yet again when IO could not be created as that
will likely create a loop situation when the remote stack caches the
codec configuration.
---
 profiles/audio/bap.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

bluez.test.bot@gmail.com Dec. 9, 2023, 12:20 a.m. UTC | #1
This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=808403

---Test result---

Test Summary:
CheckPatch                    PASS      3.09 seconds
GitLint                       FAIL      2.18 seconds
BuildEll                      PASS      23.83 seconds
BluezMake                     PASS      677.05 seconds
MakeCheck                     PASS      15.96 seconds
MakeDistcheck                 PASS      153.08 seconds
CheckValgrind                 PASS      214.70 seconds
CheckSmatch                   PASS      318.00 seconds
bluezmakeextell               PASS      100.21 seconds
IncrementalBuild              PASS      3768.19 seconds
ScanBuild                     WARNING   897.51 seconds

Details
##############################
Test: GitLint - FAIL
Desc: Run gitlint
Output:
[BlueZ,v2,2/6] shared/bap: Make bt_bap_select match the channel map

WARNING: I3 - ignore-body-lines: gitlint will be switching from using Python regex 'match' (match beginning) to 'search' (match anywhere) semantics. Please review your ignore-body-lines.regex option accordingly. To remove this warning, set general.regex-style-search=True. More details: https://jorisroovers.github.io/gitlint/configuration/#regex-style-search
13: B3 Line contains hard tab characters (\t): "	  0000a0201030202010304280001020206000000000a020103020201030428"
14: B3 Line contains hard tab characters (\t): "	  0002020206000000000a02010302020103042800"
[BlueZ,v2,3/6] org.bluez.MediaEndpoint: Add ChannelAllocation to SelectProperties

WARNING: I3 - ignore-body-lines: gitlint will be switching from using Python regex 'match' (match beginning) to 'search' (match anywhere) semantics. Please review your ignore-body-lines.regex option accordingly. To remove this warning, set general.regex-style-search=True. More details: https://jorisroovers.github.io/gitlint/configuration/#regex-style-search
1: T1 Title exceeds max length (81>80): "[BlueZ,v2,3/6] org.bluez.MediaEndpoint: Add ChannelAllocation to SelectProperties"
[BlueZ,v2,6/6] client/player: Use ChannelAllocation given on SelectProperties

WARNING: I3 - ignore-body-lines: gitlint will be switching from using Python regex 'match' (match beginning) to 'search' (match anywhere) semantics. Please review your ignore-body-lines.regex option accordingly. To remove this warning, set general.regex-style-search=True. More details: https://jorisroovers.github.io/gitlint/configuration/#regex-style-search
13: B3 Line contains hard tab characters (\t): "	  6020206000000001002010302020103042800050302000000010202060000"
14: B3 Line contains hard tab characters (\t): "	  0000100201030202010304280005030100000002020206000000001002010"
15: B3 Line contains hard tab characters (\t): "	  302020103042800050302000000"
##############################
Test: ScanBuild - WARNING
Desc: Run Scan Build
Output:
src/shared/bap.c:4766:23: warning: Access to field 'type' results in a dereference of a null pointer (loaded from variable 'lpac')
                if (!match.rpac && (lpac->type != BT_BAP_BCAST_SOURCE))
                                    ^~~~~~~~~~
1 warning generated.
In file included from tools/mesh-gatt/crypto.c:32:
./src/shared/util.h:228:9: warning: 1st function call argument is an uninitialized value
        return be32_to_cpu(get_unaligned((const uint32_t *) ptr));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./src/shared/util.h:33:26: note: expanded from macro 'be32_to_cpu'
#define be32_to_cpu(val) bswap_32(val)
                         ^~~~~~~~~~~~~
/usr/include/byteswap.h:34:21: note: expanded from macro 'bswap_32'
#define bswap_32(x) __bswap_32 (x)
                    ^~~~~~~~~~~~~~
In file included from tools/mesh-gatt/crypto.c:32:
./src/shared/util.h:238:9: warning: 1st function call argument is an uninitialized value
        return be64_to_cpu(get_unaligned((const uint64_t *) ptr));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./src/shared/util.h:34:26: note: expanded from macro 'be64_to_cpu'
#define be64_to_cpu(val) bswap_64(val)
                         ^~~~~~~~~~~~~
/usr/include/byteswap.h:37:21: note: expanded from macro 'bswap_64'
#define bswap_64(x) __bswap_64 (x)
                    ^~~~~~~~~~~~~~
2 warnings generated.



---
Regards,
Linux Bluetooth
patchwork-bot+bluetooth@kernel.org Dec. 11, 2023, 9:10 p.m. UTC | #2
Hello:

This series was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Fri,  8 Dec 2023 17:12:13 -0500 you wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> 
> If the old state was releasing there is no reason to call
> bt_bap_stream_release yet again when IO could not be created as that
> will likely create a loop situation when the remote stack caches the
> codec configuration.
> 
> [...]

Here is the summary with links:
  - [BlueZ,v1] bap: Don't attempt to release if old state was releasing
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=093d00b47ee4
  - [BlueZ,v2,2/6] shared/bap: Make bt_bap_select match the channel map
    (no matching commit)
  - [BlueZ,v2,3/6] org.bluez.MediaEndpoint: Add ChannelAllocation to SelectProperties
    (no matching commit)
  - [BlueZ,v2,4/6] shared/bap: Make bt_bap_select select a location
    (no matching commit)
  - [BlueZ,v2,5/6] shared/bap: Fix stream IO linking
    (no matching commit)
  - [BlueZ,v2,6/6] client/player: Use ChannelAllocation given on SelectProperties
    (no matching commit)

You are awesome, thank you!
patchwork-bot+bluetooth@kernel.org Dec. 15, 2023, 8:50 p.m. UTC | #3
Hello:

This series was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Fri,  8 Dec 2023 17:12:13 -0500 you wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> 
> If the old state was releasing there is no reason to call
> bt_bap_stream_release yet again when IO could not be created as that
> will likely create a loop situation when the remote stack caches the
> codec configuration.
> 
> [...]

Here is the summary with links:
  - [BlueZ,v1] bap: Don't attempt to release if old state was releasing
    (no matching commit)
  - [BlueZ,v2,2/6] shared/bap: Make bt_bap_select match the channel map
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=e7e8b2a3d7ca
  - [BlueZ,v2,3/6] org.bluez.MediaEndpoint: Add ChannelAllocation to SelectProperties
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=07efa6d35b26
  - [BlueZ,v2,4/6] shared/bap: Make bt_bap_select select a location
    (no matching commit)
  - [BlueZ,v2,5/6] shared/bap: Fix stream IO linking
    (no matching commit)
  - [BlueZ,v2,6/6] client/player: Use ChannelAllocation given on SelectProperties
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=e01208dac67f

You are awesome, thank you!
diff mbox series

Patch

diff --git a/profiles/audio/bap.c b/profiles/audio/bap.c
index c279b5b0e133..c530799915f3 100644
--- a/profiles/audio/bap.c
+++ b/profiles/audio/bap.c
@@ -1918,7 +1918,9 @@  static void bap_state(struct bt_bap_stream *stream, uint8_t old_state,
 			bap_create_io(data, ep, stream, true);
 			if (!ep->io) {
 				error("Unable to create io");
-				bt_bap_stream_release(stream, NULL, NULL);
+				if (old_state != BT_BAP_STREAM_STATE_RELEASING)
+					bt_bap_stream_release(stream, NULL,
+								NULL);
 				return;
 			}