2021-04-11 01:52:47

by Curtis Maves

[permalink] [raw]
Subject: [PATCH Bluez] Select either notifications or indications, not both

AcquireNotify and StartNotify starts notifications and/or indications
by whether the characteristic supports them. Before this patch, if both
were supported, Bluez would try to start both simultaneously. This
patch changes this behavior so if both are supported, only
notifications are started.
---
src/shared/gatt-client.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c
index 4e10f244d..1ff5e94ee 100644
--- a/src/shared/gatt-client.c
+++ b/src/shared/gatt-client.c
@@ -1591,14 +1591,13 @@ static bool notify_data_write_ccc(struct notify_data *notify_data, bool enable,
put_le16(notify_data->chrc->ccc_handle, pdu);

if (enable) {
- /* Try to enable notifications and/or indications based on
+ /* Try to enable notifications or indications based on
* whatever the characteristic supports.
*/
if (notify_data->chrc->properties & BT_GATT_CHRC_PROP_NOTIFY)
pdu[2] = 0x01;
-
- if (notify_data->chrc->properties & BT_GATT_CHRC_PROP_INDICATE)
- pdu[2] |= 0x02;
+ else if (notify_data->chrc->properties & BT_GATT_CHRC_PROP_INDICATE)
+ pdu[2] = 0x02;

if (!pdu[2])
return false;
--
2.31.1


2021-04-11 02:44:17

by bluez.test.bot

[permalink] [raw]
Subject: RE: [Bluez] Select either notifications or indications, not both

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=465019

---Test result---

Test Summary:
CheckPatch FAIL 0.29 seconds
GitLint PASS 0.11 seconds
Prep - Setup ELL PASS 47.10 seconds
Build - Prep PASS 0.11 seconds
Build - Configure PASS 8.11 seconds
Build - Make PASS 205.52 seconds
Make Check FAIL 10.01 seconds
Make Dist PASS 13.21 seconds
Make Dist - Configure PASS 5.40 seconds
Make Dist - Make PASS 84.23 seconds
Build w/ext ELL - Configure PASS 8.42 seconds
Build w/ext ELL - Make PASS 192.19 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script with rule in .checkpatch.conf
Output:
Select either notifications or indications, not both
WARNING:LONG_LINE: line length of 84 exceeds 80 columns
#29: FILE: src/shared/gatt-client.c:1599:
+ else if (notify_data->chrc->properties & BT_GATT_CHRC_PROP_INDICATE)

- total: 0 errors, 1 warnings, 17 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.

"[PATCH] Select either notifications or indications, not both" has style problems, please review.

NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPLIT_STRING SSCANF_TO_KSTRTO

NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.


##############################
Test: GitLint - PASS
Desc: Run gitlint with rule in .gitlint

##############################
Test: Prep - Setup ELL - PASS
Desc: Clone, build, and install ELL

##############################
Test: Build - Prep - PASS
Desc: Prepare environment for build

##############################
Test: Build - Configure - PASS
Desc: Configure the BlueZ source tree

##############################
Test: Build - Make - PASS
Desc: Build the BlueZ source tree

##############################
Test: Make Check - FAIL
Desc: Run 'make check'
Output:
./test-driver: line 107: 28304 Aborted (core dumped) "$@" > $log_file 2>&1
make[3]: *** [Makefile:9811: test-suite.log] Error 1
make[2]: *** [Makefile:9919: check-TESTS] Error 2
make[1]: *** [Makefile:10313: check-am] Error 2
make: *** [Makefile:10315: check] Error 2


##############################
Test: Make Dist - PASS
Desc: Run 'make dist' and build the distribution tarball

##############################
Test: Make Dist - Configure - PASS
Desc: Configure the source from distribution tarball

##############################
Test: Make Dist - Make - PASS
Desc: Build the source from distribution tarball

##############################
Test: Build w/ext ELL - Configure - PASS
Desc: Configure BlueZ source with '--enable-external-ell' configuration

##############################
Test: Build w/ext ELL - Make - PASS
Desc: Build BlueZ source with '--enable-external-ell' configuration



---
Regards,
Linux Bluetooth