From patchwork Fri Jun 26 06:42:30 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Deng X-Patchwork-Id: 91022 X-Patchwork-Delegate: yoann.congal@smile.fr Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 412ACCD4F26 for ; Fri, 26 Jun 2026 06:42:48 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.30041.1782456162372482201 for ; Thu, 25 Jun 2026 23:42:42 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=i+bZwFga; dkim=pass header.i=@oss.qualcomm.com header.s=google header.b=RwagmsSo; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: wei.deng@oss.qualcomm.com) Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65Q6VPQV4193065 for ; Fri, 26 Jun 2026 06:42:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=UlYBe/G+zR4 DvDaW3ZMwqXBjn8UWVlInJe8aYfKt7vo=; b=i+bZwFgarVz+fb5NZ1GNhB8zxjQ Ja4YpR3fjPVNOb1MQiPXiDQMRPUuACa7a4ghfanVWkFA/fCYQIjxLvegRuDoDoso BCn5v85MSQsI3CagimNuZWcKTGr6rvkdjShR52l+5Q5Nna4DK/Tfer8FoiLsifFX U7uPz4+8jsTdUYleRihEgQ+IYwUU82taTP7MJ9z0ghOy2EkXRV5eQevULgXfWQ4N r9zzO/kwan+v9629zUcJ3o6gCqAC+UtdYjbsWTjWRIUN4eIeiwynFBebS51d8wum UsIdr7Ie8MH+k2yY5uSaDjFw+x5H1Pugi0ay3spX2+RuBXwU+HdwN+2sKsw== Received: from mail-dy1-f200.google.com (mail-dy1-f200.google.com [74.125.82.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f1fgds650-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 26 Jun 2026 06:42:41 +0000 (GMT) Received: by mail-dy1-f200.google.com with SMTP id 5a478bee46e88-30bd0d5f5a4so70689eec.0 for ; Thu, 25 Jun 2026 23:42:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782456161; x=1783060961; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=UlYBe/G+zR4DvDaW3ZMwqXBjn8UWVlInJe8aYfKt7vo=; b=RwagmsSorq8P76e5BledoQzflPwDeBHAu5kTH3hRy0mTzx8EfKS9fC18B3Nowek6KY A+sBfwxiH6BCspmRjWqFZBddD9w0yjGLd7nSliXm2j70pw5lESr0UmYWJadUFncPvERq suQcYjC7au8PS6hxmWrL6MU4j02wuuwjSsNm1+9UPzr5bExLvd1keHpMU5n6ShKL6m/b F8/le0n6Llw8DajscPFzXsrAZIVkWL0EvUz+xRY9afcPiRNrueewDYRbRt/+wZRL6zxK ptNx+CSTyOECC5zQlpHNcLfIcqrEvilLv4qp0cYC1n6jAOwbXnJqfOPNy7fQm5xsFk0J i+Iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782456161; x=1783060961; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=UlYBe/G+zR4DvDaW3ZMwqXBjn8UWVlInJe8aYfKt7vo=; b=I9SAPqXFwVl8PZAOpbIF4FbnGrt3tyHEQ+BQVfVeJqV4bWf7I/Xq8Z0ENYHBw/uU76 qhJavVW9w+aoMZTYfKNmnCi8S+6ppMupEDhdEr5US5TI7TL4VXNLJXb2tcJa3x2FBoNg vKj2hAkgllLIh5sJvWzJxTcRp+QdNE4riaeIJDewvGkgksePnKFRg/ES6aupsH2AUYu7 NtlD0SxMB4C660rIFUm+9O5JNrb+f59j/SM+NDn3OsSuLnZ3zJQuh6IBUmCXAvH6X6Rl +zf3qydUzxDNInIlLJZDcwuucKjo0iQQgmqM5VwZuLHLtfWx4l3lkX3JpTQdg+n5ABMh vbXg== X-Gm-Message-State: AOJu0YxhWMkDoD4Z2AkWPRlLquWMRY5pVsiiVUj+4wrwis028Gq/H1n/ JZl4AhmenYZNJd1V3B2+WKUwClDUP0AjxpIl2NKylTTW3YopEuVkd9MgNjwNmbUl/NqucSb5F2X 4t85PM6VCn5g3HGfkF3kEmPMn7NfYr4b3ADpS9aWCg+QWBCFztZz6JA3Nbbig2xhuwOSmpq84uY T9jLiHVkXsno/X4HZ1kw== X-Gm-Gg: AfdE7cn2e0Osa/Fz3hzCpsScBPgkuuaftL9X3mXc7L0BEnS7P00HGzetBIE7Y490pKl 0A91WXZJ+ugGqGOuvQhmZ91JqUxWle7kFaqxsS3U68ZV+W6pnM4d1wuon2XBriuvkwrrSquip47 osBMlwbXwlUe58g7X0w+xGOnC5OxflKxqXQXv4PcajEojyM9nA2OuOjyCEiLMdzq1OYIn8wAxCx D8aDTKauHZhZcdyXAad2BHhdX1SAusfgkCSygoYSFBYhSF8yqo0agUzbAcVamMZQ5yzldHbw0XO pspX84380jm4JQWCPLqcLsDJgOzL1SWjp5s7MCe6Gft+//cZqog9FjIJ+yUoSTSJxwAHz+C+MwU OEQk0PxcDJn3eS8OZg9YUL55icXSxeGnksB4a2sCuK7ARY9bv4vA36DlvXs11LA== X-Received: by 2002:a05:7300:80d0:b0:30b:d2f5:d503 with SMTP id 5a478bee46e88-30c84d6c82emr3267048eec.7.1782456161089; Thu, 25 Jun 2026 23:42:41 -0700 (PDT) X-Received: by 2002:a05:7300:80d0:b0:30b:d2f5:d503 with SMTP id 5a478bee46e88-30c84d6c82emr3267036eec.7.1782456160497; Thu, 25 Jun 2026 23:42:40 -0700 (PDT) Received: from hu-weiden-sha.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30c7cac87dcsm16628270eec.31.2026.06.25.23.42.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jun 2026 23:42:40 -0700 (PDT) From: Wei Deng To: openembedded-core@lists.openembedded.org Cc: yoann.congal@smile.fr, cheng.jiang@oss.qualcomm.com, shuai.zhang@oss.qualcomm.com, mengshi.wu@oss.qualcomm.com, jinwang.li@oss.qualcomm.com, xiuzhuo.shang@oss.qualcomm.com Subject: [PATCH 1/4] bluez5: fix set volume failure Date: Fri, 26 Jun 2026 12:12:30 +0530 Message-Id: <20260626064233.704350-2-wei.deng@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260626064233.704350-1-wei.deng@oss.qualcomm.com> References: <20260626064233.704350-1-wei.deng@oss.qualcomm.com> MIME-Version: 1.0 X-Authority-Analysis: v=2.4 cv=API5kwXb c=1 sm=1 tr=0 ts=6a3e1f61 cx=c_pps a=PfFC4Oe2JQzmKTvty2cRDw==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=P-IC7800AAAA:8 a=QyXUC8HyAAAA:8 a=e8bRT_GSZmf0kOtY9XgA:9 a=6Ab_bkdmUrQuMsNx7PHu:22 a=d3PnA9EDa4IxuAV0gXij:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI2MDA1MCBTYWx0ZWRfXyZfpHpJnmfP9 fqzXUiXqFI24G9AkDZgbXyqZdXJQultVGRh2uMAZ6H/jGLROfrG9Ho/9fmOE5ne3YDVNxkZ1F+M Fk7hk6lae5v4ocp0weuEuLrIIM7wClpf2Q7tXDXr174UABb2pEKjgkLVPBeg4P7TLTCYeFBrRAg xw9reDzIDcYNIesYA5N/bUxzYZ1tOkh/DkjA6uKziOizfe9//S1JnaB247cXgiil+iWNkBlWBma wjjILXLsYywsrYKuu2YBBJ3BOLwUtMSiJSHbZyHPQRR7Q55Q4ZtqWuTT3FqSKlLNPUQ3tztYv2M WEu4ckGuDCsv2B/UnfDtf8bAF0jpCZ+wW25hE7+Oj/sl6xdzkQqDmHCYEnoPBZ+kCnLCotfFOmL h6UxtyKFqudY0dO6xDe/9ja0iYPgCtl4XDW/qmqjar8L4tYG26V5jC90r5wziFoAeDlcGJb+7aM M8rGBPPKIIgto92jWAQ== X-Proofpoint-ORIG-GUID: 5uU5vcRiQvySZGxJUqxAME5eSLiXdkLl X-Proofpoint-GUID: 5uU5vcRiQvySZGxJUqxAME5eSLiXdkLl X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI2MDA1MCBTYWx0ZWRfXzAhHY/EAWrm+ XVbf8KsBo5D3NKhIQOePSM2MpRyLwe2IDMx1oYCN9FDApZ2Svt4ArkY4Os0q5t0UMcbEfUmOr0G NgBzKGK67CrSkH4qBgGICAmu2poKrE0= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-26_02,2026-06-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 clxscore=1015 bulkscore=0 impostorscore=0 lowpriorityscore=0 priorityscore=1501 adultscore=0 malwarescore=0 phishscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606260050 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 26 Jun 2026 06:42:48 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/239604 From: Jinwang Li Backport upstream fix for AVRCP volume initialization failure when AVRCP connects before AVDTP. Upstream-Status: Backport [bluez/bluez@121e5ca] Signed-off-by: Jinwang Li Signed-off-by: Mathieu Dubois-Briand --- meta/recipes-connectivity/bluez5/bluez5.inc | 1 + ...t-volume-failure-with-invalid-device.patch | 46 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-transport-Fix-set-volume-failure-with-invalid-device.patch diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc index c792cc9c66c..c09a759244e 100644 --- a/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/meta/recipes-connectivity/bluez5/bluez5.inc @@ -71,6 +71,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ file://0001-Revert-shared-shell-Don-t-init-input-for-non-interac.patch \ file://0001-tools-Work-around-broken-stdin-handling-in-home-made.patch \ file://0001-gatt-client-Fix-use-after-free-caused-by-reentrant-c.patch \ + file://0001-transport-Fix-set-volume-failure-with-invalid-device.patch \ " S = "${UNPACKDIR}/bluez-${PV}" diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-transport-Fix-set-volume-failure-with-invalid-device.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-transport-Fix-set-volume-failure-with-invalid-device.patch new file mode 100644 index 00000000000..b5846dec47f --- /dev/null +++ b/meta/recipes-connectivity/bluez5/bluez5/0001-transport-Fix-set-volume-failure-with-invalid-device.patch @@ -0,0 +1,46 @@ +From 8a80f70c23ca5f93b1db7e3956cc7ee28c1fa767 Mon Sep 17 00:00:00 2001 +From: Jinwang Li +Date: Mon, 9 Mar 2026 19:18:26 +0800 +Subject: [PATCH] transport: Fix set volume failure with invalid device volume + +When AVRCP is connected before AVDTP, an invalid device volume causes +the target to reject registration for the EVENT_VOLUME_CHANGED +notification, which breaks subsequent volume updates. + +Fix this by initializing the volume to the maximum value in the AVRCP +target init path when it is invalid, allowing the controller to +subscribe to AVRCP_EVENT_VOLUME_CHANGED. + +Fixes: fa7828bddd21 ("transport: Fix not being able to initialize volume properly") +Suggested-by: Luiz Augusto von Dentz +Signed-off-by: Jinwang Li +Upstream-Status: Backport [https://github.com/bluez/bluez/commit/121e5ca79be559c5374f8a54c6fb6e233e383379] +--- + profiles/audio/avrcp.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/profiles/audio/avrcp.c b/profiles/audio/avrcp.c +index 724b46c59..326dfdab7 100644 +--- a/profiles/audio/avrcp.c ++++ b/profiles/audio/avrcp.c +@@ -4296,9 +4296,16 @@ static void target_init(struct avrcp *session) + if (target->version < 0x0104) + return; + +- if (avrcp_volume_supported(target)) ++ if (avrcp_volume_supported(target)) { + session->supported_events |= + (1 << AVRCP_EVENT_VOLUME_CHANGED); ++ /* Check if transport volume hasn't been initialized then set it ++ * to max so it works properly if the controller attempts to ++ * subscribe to AVRCP_EVENT_VOLUME_CHANGED. ++ */ ++ if (media_transport_get_a2dp_volume(session->dev) < 0) ++ media_transport_set_a2dp_volume(session->dev, 127); ++ } + + session->supported_events |= + (1 << AVRCP_EVENT_ADDRESSED_PLAYER_CHANGED) | +-- +2.34.1 + From patchwork Fri Jun 26 06:42:31 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Deng X-Patchwork-Id: 91024 X-Patchwork-Delegate: yoann.congal@smile.fr Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id A553FCDE00E for ; Fri, 26 Jun 2026 06:42:48 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.29689.1782456164827045270 for ; Thu, 25 Jun 2026 23:42:44 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=NBCzP/L5; dkim=pass header.i=@oss.qualcomm.com header.s=google header.b=jEFw8UqM; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: wei.deng@oss.qualcomm.com) Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65Q6VP5k047786 for ; Fri, 26 Jun 2026 06:42:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=YvRVsCWApF2 qRHFocMIOSn2W7rtQAXgVs9OKurXNVBE=; b=NBCzP/L5MTS9+qq4vRgfd4+u7jg C3HsT4xRnMRQPQs72u8uH//dwMJGRW/MX6uKtyydsZaM624P0fb2+NvCf8phoTob vfbhI8L6AT+ykc0dqQzSlV8lGgitjg8CvafqDoCJegf9yB+K9+dRWEV8OkXJTv2o khjchviaxV1cMvTYL043YH+lOkL1h7tJPDgde/R1pGgBARrXDBXa8K7mscCzLFom 15aKexKF8Lp/1NJYt6C1T7NxSwalspqXMiTGRzNgwaFTLoAye1470ru2PizE/3Ne t4NlggFdh0pez+RSK11EWMhGR9t58R6IQgn8/IphJVKhGlNW+7XcbJgnhBA== Received: from mail-dy1-f200.google.com (mail-dy1-f200.google.com [74.125.82.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f16ukbedt-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 26 Jun 2026 06:42:44 +0000 (GMT) Received: by mail-dy1-f200.google.com with SMTP id 5a478bee46e88-30c8aa3ca3eso69962eec.1 for ; Thu, 25 Jun 2026 23:42:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782456164; x=1783060964; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=YvRVsCWApF2qRHFocMIOSn2W7rtQAXgVs9OKurXNVBE=; b=jEFw8UqMXosfRmqmvJ92eDa0mwUbXk89cCqVqO3S1OOQHjLa1oAmSeFEj5HShMRrvm ImBunM4Q7C47Pxo+FvhaK7fEjkwMsIQpZDrMKTdqLiXu+Bf8g73vGLjqRNYABMflX0su ao7uHS0oDg5Ez6FOptRIDpAVEVuGgpaitNp8FmWjhB5b0rdZpwddA4wj+NinDeCykVNs n/au6DtoXbbshUxOJ9f6RxaknM0/JlCOU7RgZ9j5NrjPqdV9pQlBQpiiveSdN4cQ108D Qlcnayr3JUh3LxbFWmnctaAn3P6mSyTLIgjC6NPdtwgRn7MKsblS+guyPilEmUs+8tx5 BoYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782456164; x=1783060964; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=YvRVsCWApF2qRHFocMIOSn2W7rtQAXgVs9OKurXNVBE=; b=XJjHZ2YsQBx0v7nETUvfbILidKw9sld/nK8rJqWCv9P6DpwCS1nQxK/o+CcEA2W2PM Uls6WgL3bc7jCJmNVJkV15wIBaaYj6CxPVkSTpgLpGUUw71JZYTAwBSgVqUMHs5FYEDO TzBS39d10q/E7Ies58VT4Z/lRYQmd88VtsgeJ+uJvjKMyjtOHlNwftnOyN+q255HtA20 Sb65eVSpNJI+5xQwVcecI8oYlZv3njSvSgzKtpY8aFyQ38ycZgj/0AleQ92Oxf35Tw5Q fZMXea36n+ahE2pGRGWYcmR6pQrSTdtT9SmfpyS400iyJxZ2eumeSX1Kp3ebEU1xd/0e 3JKA== X-Gm-Message-State: AOJu0YxlXNdFuNTul09ekf1g6GNdZrNzfQ3e9uA78uSo77KXVWwvPsnJ VhZLMqL3qUU1aYAtc+1/FXDBc6Q/8vjExXdSyrYlH9WgRjM0jYqpSLbmaSJdCmj4ODz7VfoM1cb fpF2Sk5FpuZCQlxijtJ+z9G5q5pa0wPD465R/izi1an9QGrCeQEolE3naTag0CYl8oxf9HRAGNB GCswMxH0iF63IgjGI/Ug== X-Gm-Gg: AfdE7cmAQ4p9vjR1dyY/jCkqjZPbrIJ0YNuDJe/Yh/sEKaPcF6MgWIhx17LcjBoGAGf iaJoGWB9EbdJLs9DD97fsHwY2vxpr8ZVVldScHRkda2N7FeUZFNUcOsmLdVDmbrMo1boLEFMXzJ JuHnNHKZgfR1SRr4rAA3A6w4rhFpuraOvC9oejMACjT61g41TPMQIvw9BvDTKUGxNRljtwV1ir2 nJapC+RWIIjf7msuhnmuKJ33glLB0IyTJ8i+23g3bwt+JQPaLSbqdCDsn9q5mlw+Ir+zPIAYCbB RsB085qm9i81LGAgCUf3lPKKYGx4IIrQw1RudKazjitBf6PUYzFcjkvTaAqbKNwzuw49t11oTr7 QLf7aAYvACdSKwtoOOxsH5Cl/R6HBYfjQ3r3bP+LzMAUuoCJPLKeMYJ++SeYucA== X-Received: by 2002:a05:7300:6406:b0:30c:6a54:3fe6 with SMTP id 5a478bee46e88-30c84d60744mr3138305eec.8.1782456163674; Thu, 25 Jun 2026 23:42:43 -0700 (PDT) X-Received: by 2002:a05:7300:6406:b0:30c:6a54:3fe6 with SMTP id 5a478bee46e88-30c84d60744mr3138280eec.8.1782456163075; Thu, 25 Jun 2026 23:42:43 -0700 (PDT) Received: from hu-weiden-sha.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30c7cac87dcsm16628270eec.31.2026.06.25.23.42.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jun 2026 23:42:42 -0700 (PDT) From: Wei Deng To: openembedded-core@lists.openembedded.org Cc: yoann.congal@smile.fr, cheng.jiang@oss.qualcomm.com, shuai.zhang@oss.qualcomm.com, mengshi.wu@oss.qualcomm.com, jinwang.li@oss.qualcomm.com, xiuzhuo.shang@oss.qualcomm.com Subject: [PATCH 2/4] bluez5: Fix sending extra bytes with MGMT_OP_ADD_EXT_ADV_DATA Date: Fri, 26 Jun 2026 12:12:31 +0530 Message-Id: <20260626064233.704350-3-wei.deng@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260626064233.704350-1-wei.deng@oss.qualcomm.com> References: <20260626064233.704350-1-wei.deng@oss.qualcomm.com> MIME-Version: 1.0 X-Authority-Analysis: v=2.4 cv=VuMTxe2n c=1 sm=1 tr=0 ts=6a3e1f64 cx=c_pps a=PfFC4Oe2JQzmKTvty2cRDw==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=P-IC7800AAAA:8 a=ag1SF4gXAAAA:8 a=QyXUC8HyAAAA:8 a=Ea7PWexQ_xp5_is82UwA:9 a=6Ab_bkdmUrQuMsNx7PHu:22 a=d3PnA9EDa4IxuAV0gXij:22 a=Yupwre4RP9_Eg_Bd0iYG:22 X-Proofpoint-GUID: ne_dbREppJusoqbflfUJSXyycIhMinI2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI2MDA1MCBTYWx0ZWRfX7zWR6SZrjj8x MMnjMS7d3r7fip+FOTdNaT3VQzX/IGio7eVwppJfrxF353Ds005gKAFub8NQFhC9qHnQqpAoB0s N6xzc3b9meEBOfY4iRItC4jyAlwx/dy2U7fiRMz6Ta14bqL3l6+ZVlB7ViQayXlpK70DOnAMLz1 ONKgEmun2JUD58igUMcOyDAointqIKpfNNXjcLeTItB9fx7XC9LOA52kXCAdUkKm8rgJETMkL1E +JqouuRIEdVtCuRDjh+TdmKolif8igwMB1XSiSKCkRQkKJnaXYDH6OMbiej5LpqmH6Ou/aZtZI6 eCT56ukO+JETlPG4/+xC5klJpGbsg0aPxm0cBB5Lt6460DV85RPbt+KOkJde7nF4cTfUWJDS0To JyMIUxhk0PqzAgAyDqK5tsCx8+vT80lYGM9MQeLtug6UoU5PnPmbNzMddLTTj4BwXdsWhbHEja+ Pa/zO7Pfn5jTl5kmNnw== X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI2MDA1MCBTYWx0ZWRfX/J9Aq3fLDuA2 xmPpAP99zzpu7Dwd0lB8Zi2SdWmTh6aBj+X7VY+cCW9w1Vt0qwe0m17vOC1UgAle8BHji3wY0cc duiwnQGwP8kDFzNfuTrj3Z4dbNyaE2w= X-Proofpoint-ORIG-GUID: ne_dbREppJusoqbflfUJSXyycIhMinI2 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-26_02,2026-06-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 spamscore=0 malwarescore=0 bulkscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606260050 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 26 Jun 2026 06:42:48 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/239605 From: "xiuzhuo.shang@oss.qualcomm.com" MGMT_OP_ADD_EXT_ADV_DATA expects the command to be of struct mgmt_cp_add_ext_adv_data not mgmt_cp_add_advertising. Signed-off-by: Xiuzhuo Shang Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- meta/recipes-connectivity/bluez5/bluez5.inc | 1 + ...sending-extra-bytes-with-MGMT_OP_ADD.patch | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-advertising-Fix-sending-extra-bytes-with-MGMT_OP_ADD.patch diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc index c09a759244e..1600107b878 100644 --- a/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/meta/recipes-connectivity/bluez5/bluez5.inc @@ -72,6 +72,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ file://0001-tools-Work-around-broken-stdin-handling-in-home-made.patch \ file://0001-gatt-client-Fix-use-after-free-caused-by-reentrant-c.patch \ file://0001-transport-Fix-set-volume-failure-with-invalid-device.patch \ + file://0001-advertising-Fix-sending-extra-bytes-with-MGMT_OP_ADD.patch \ " S = "${UNPACKDIR}/bluez-${PV}" diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-advertising-Fix-sending-extra-bytes-with-MGMT_OP_ADD.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-advertising-Fix-sending-extra-bytes-with-MGMT_OP_ADD.patch new file mode 100644 index 00000000000..0a737413679 --- /dev/null +++ b/meta/recipes-connectivity/bluez5/bluez5/0001-advertising-Fix-sending-extra-bytes-with-MGMT_OP_ADD.patch @@ -0,0 +1,33 @@ +From b16441fbb7a24325f7c7d0c5ecedc88b46ddd439 Mon Sep 17 00:00:00 2001 +From: Xiuzhuo Shang +Date: Thu, 4 Jun 2026 17:32:27 +0800 +Subject: [PATCH] advertising: Fix sending extra bytes with + MGMT_OP_ADD_EXT_ADV_DATA + +MGMT_OP_ADD_EXT_ADV_DATA expects the command to be of size of +struct mgmt_cp_add_ext_adv_data not mgmt_cp_add_advertising. + +Upstream-Status: Backport [2a6968b40378dca5650e18e03ad0407738c47be5] +Signed-off-by: Luiz Augusto von Dentz +Signed-off-by: Xiuzhuo Shang +--- + src/advertising.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/advertising.c b/src/advertising.c +index 8970e65f7..0cb37d4ae 100644 +--- a/src/advertising.c ++++ b/src/advertising.c +@@ -1487,8 +1487,7 @@ static void add_adv_params_callback(uint8_t status, uint16_t length, + } + } + +- param_len = sizeof(struct mgmt_cp_add_advertising) + adv_data_len + +- scan_rsp_len; ++ param_len = sizeof(*cp) + adv_data_len + scan_rsp_len; + + cp = malloc0(param_len); + if (!cp) { +-- +2.43.0 + From patchwork Fri Jun 26 06:42:32 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Wei Deng X-Patchwork-Id: 91023 X-Patchwork-Delegate: yoann.congal@smile.fr Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 30E57CDE008 for ; Fri, 26 Jun 2026 06:42:48 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.30045.1782456167441930026 for ; Thu, 25 Jun 2026 23:42:47 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@qualcomm.com header.s=qcppdkim1 header.b=J724Xu1+; dkim=fail reason="dkim: body hash did not verify" header.i=@oss.qualcomm.com header.s=google header.b=DnKFoDAD; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: wei.deng@oss.qualcomm.com) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65Q6VM0S1680034 for ; Fri, 26 Jun 2026 06:42:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Xo8b0tHGtR7s5bu8EuZlOyqo2wL71YT82d6KLcXWS8g=; b=J724Xu1+KE0ED4nn aw8FHQn61nqhtUy7HCI6G1mlzSZgDLcc0o8tpPnzXAgBM9tHSI1KN7fJoegz/2wA CX/Mn4SivsqMvuEnlhaoJbS116YKwaaf0ybZY5K5dwZlZfNrFaYwarQ3wVGsGM8C pcqPCOql5bID24X2uLZo9jiTu1JtAisuKrqUDLf7QkoCFK183GV66U9/V7ETvfOX vjr/Ns7j8eH2r+VrUoaF884ApeZpyqRcuPKaiU3YCOnV+1tjOBPTSmJZnQnU2NCL fVkPVHfWAccf9fzxCefsmZCUZ77KlWgMLILC4Ig5r8a3ZGgZr5+yVX/AvIu6qzHU xwFu/g== Received: from mail-dy1-f197.google.com (mail-dy1-f197.google.com [74.125.82.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f1fgc15ek-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 26 Jun 2026 06:42:46 +0000 (GMT) Received: by mail-dy1-f197.google.com with SMTP id 5a478bee46e88-30c58d35c0aso166566eec.0 for ; Thu, 25 Jun 2026 23:42:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782456166; x=1783060966; darn=lists.openembedded.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=Xo8b0tHGtR7s5bu8EuZlOyqo2wL71YT82d6KLcXWS8g=; b=DnKFoDAD2qXp82FgZPxoPBJoswtEOafADqbHNhA77H7OYACE30f9cTjNIWwJb/5tLb UpfOaMgAgIcTVLATc7p4bxzOgTf+kQI1QG8g0FEfdGU6tL74/whniukbIy3muJdkdlWm vClJpxA/W7VR95vOh4FLUp4bZrtxpuMTMXIprXyN0B4ImLYOhD4kfj0X/rQzz1FSZvHX sPhIgKYvp+f+FttwITG1b/tOG+8kFcAWxOtH4YdGEcT+A/rDZUUFtmXD8JeQbM2r8Zia NW/gP5O3L9Ee/nar0E+UncUl6xhUqEzz3nBWEEjzZbuz84ClQnUSkJ+OQSxpySLG7DuJ qtkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782456166; x=1783060966; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Xo8b0tHGtR7s5bu8EuZlOyqo2wL71YT82d6KLcXWS8g=; b=NcKXnHI/yM1BUgwug9lkgEpgwTtJ5upI2DGXiyQ/cQYPkkgHYE1yn20xNyXmEzdf/z eUCtXR2gTIuqF/O/vFvm+4op8xwncGzik428y3l6TE4KuZ6x3W05Yu/Kkk74xzSuvH5b QlnUYUKeYvhLj3t3KSZy3h2DJJ7rJ7msuQL2nb61U3oaadpyzMXUs0LqPRxpRMB/ASb5 o90txCMyVr6dC9ZjzL9rnJ+ePITpaRiPzWjqKx1MiEouw16+d4qxowzkve0hxM74XHwT oTMgvMIAmYQuj+oktExJgm4X3hvjYNCjM3C0Lrrv3M558B4KAhCgX1Kg7aFH6I3ajX6H drrw== X-Gm-Message-State: AOJu0YzxeHQ9aVoxEMyMYjiggxzp6kCY54YZB9DPZ1SrqC28dgHTB7V2 ojDJ/vYt6vVhChJSDsea7rmNmXz8O3Q8dxh/WE3BH4nfJ98HXi4VZ+9OHr9wMlT5dsLeRBx+E36 tKkyUaMHmoI7HA9ikwjDB7zZKfHF/HOCjqC0NceDC9l+ZpRoclWzohEa7Gi0adetkW26cTN9gin Q8avujr2aLTNv0VLnRHQ== X-Gm-Gg: AfdE7cmcFnZbz6T7Va+r+CqBgg4PC8X0atdYwpoSNiIOqZbwY56X5cN373D9RqEBmKG xF0I31Wsu/rQlVsZ9LLXhDdLdjq57NYpwSPyvski2v6t/vDj/t5sVKX3B5gHhBWBW39fkcGaVgs X0tKP/qLILNq7tQLsKchjMk8ws0FP0BtiTWb1/iHSHFgNtW16Zg9Eh7TwWRv7/4LrCS95obgaqY Hz28k3Q0vgJHfQFvrNCcoaGQpP2pjvIQ1+3n7LcR9SI6Qf2Lw33gkP0prZcXiDQEXPrxJi4/hNM IzyI70XqmJ8FNW7ZW0bRaJyCJLJbfv70y2IkD1BumqrLQdqmSF8nWdkiPHuh3PCOfPzGbdHRl07 xSjXVwN311EDc+j8icQgTa7FgSKGM6QPvY3PPWYO36mN1A68OY2gA/Ih+eglMMw== X-Received: by 2002:a05:7301:2c8a:b0:30c:496e:982e with SMTP id 5a478bee46e88-30c84dfca51mr2478518eec.6.1782456166212; Thu, 25 Jun 2026 23:42:46 -0700 (PDT) X-Received: by 2002:a05:7301:2c8a:b0:30c:496e:982e with SMTP id 5a478bee46e88-30c84dfca51mr2478502eec.6.1782456165582; Thu, 25 Jun 2026 23:42:45 -0700 (PDT) Received: from hu-weiden-sha.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30c7cac87dcsm16628270eec.31.2026.06.25.23.42.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jun 2026 23:42:45 -0700 (PDT) From: Wei Deng To: openembedded-core@lists.openembedded.org Cc: yoann.congal@smile.fr, cheng.jiang@oss.qualcomm.com, shuai.zhang@oss.qualcomm.com, mengshi.wu@oss.qualcomm.com, jinwang.li@oss.qualcomm.com, xiuzhuo.shang@oss.qualcomm.com Subject: [PATCH 3/4] bluez5: fix gatt cache sync issue Date: Fri, 26 Jun 2026 12:12:32 +0530 Message-Id: <20260626064233.704350-4-wei.deng@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260626064233.704350-1-wei.deng@oss.qualcomm.com> References: <20260626064233.704350-1-wei.deng@oss.qualcomm.com> MIME-Version: 1.0 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI2MDA1MCBTYWx0ZWRfX88Di+wpSjQYw UXPu/6Ahez6vkdLjxAgAEufQWJHv9EjlUeptPUy3GgS7Ictd9Z2wBnwAuss61IpHwcyyyIVRlsV bdeeinWFE54iUh0KO8Oyyi/rZ0+MRy8= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI2MDA1MCBTYWx0ZWRfX8XxhfSDGyMR8 eDS7LPf1fV6UkxIFwzUfGRS2oAaga1HFdG41IeIF7tBGOhLTXBHVLm/8SoEO8dcn0pUfOtkElGo YGVk+0Vyd2bCaTuROoHT/59Uc0BLsiL5x2GBsboHzjOXt8XU1b05a+aLjLL81tGXbOPt0GAQsus qe5cSDufdJbLjfJP9MGJfQvv7/TQoKa8+hSmXJ1wDRkJQT0A6J1gCd0Ej6YlFfItr2LTzhihgGJ ptsg9YrhHl/3LkliwkJDH7H4EQpep/idm1IfIGaGHObWllsBLuI3IJX4Vw2RibTUZdV1oc8Iw4b AYtI0sLONsyDLTsgRZJDCy53EpCE51ANlR7YvCPD6YQEiazcLG14Lw5O7SGNi3LvxntlvZwYuUa IaOmS+YwKlRkPuvmrIlT9q4CGjRoTOYqbCEnagcupd0AEBPYoIuwQlHEXEQDvY2gCLhMJsgkxO1 e6jc1P/5+f58JoP1VMQ== X-Authority-Analysis: v=2.4 cv=O4oJeh9W c=1 sm=1 tr=0 ts=6a3e1f66 cx=c_pps a=Uww141gWH0fZj/3QKPojxA==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=P-IC7800AAAA:8 a=ag1SF4gXAAAA:8 a=k5HSx0GOXTMWBjfvI6MA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=PxkB5W3o20Ba91AHUih5:22 a=d3PnA9EDa4IxuAV0gXij:22 a=Yupwre4RP9_Eg_Bd0iYG:22 X-Proofpoint-ORIG-GUID: K2nda3ImfB_81DZZTKEqRUII1-RgWWm- X-Proofpoint-GUID: K2nda3ImfB_81DZZTKEqRUII1-RgWWm- X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-26_02,2026-06-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 bulkscore=0 clxscore=1015 phishscore=0 priorityscore=1501 impostorscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606260050 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0031df01.pphosted.com id 65Q6VM0S1680034 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 26 Jun 2026 06:42:48 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/239606 From: Mengshi Wu There is a timing issue to update DB Hash value. The gatt_client_service_changed() callback in src/device.c is called from service_changed_complete() in gatt-client.c, which is invoked after db_hash_read_cb() has already updated the hash. Adding store_gatt_db(device) here guarantees the db is persisted with the correct, up-to-date hash for both the addition and removal cases. Upstream-Status: Backport [bluez/bluez@0fd01e9] Signed-off-by: Mengshi Wu Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- meta/recipes-connectivity/bluez5/bluez5.inc | 1 + ...x-stored-gatt-cache-DB-Hash-value-no.patch | 84 +++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-src-device-Fix-stored-gatt-cache-DB-Hash-value-no.patch diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc index 1600107b878..4e51cc9a213 100644 --- a/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/meta/recipes-connectivity/bluez5/bluez5.inc @@ -73,6 +73,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ file://0001-gatt-client-Fix-use-after-free-caused-by-reentrant-c.patch \ file://0001-transport-Fix-set-volume-failure-with-invalid-device.patch \ file://0001-advertising-Fix-sending-extra-bytes-with-MGMT_OP_ADD.patch \ + file://0001-src-device-Fix-stored-gatt-cache-DB-Hash-value-no.patch \ " S = "${UNPACKDIR}/bluez-${PV}" diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-src-device-Fix-stored-gatt-cache-DB-Hash-value-no.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-src-device-Fix-stored-gatt-cache-DB-Hash-value-no.patch new file mode 100644 index 00000000000..69323bdc5ee --- /dev/null +++ b/meta/recipes-connectivity/bluez5/bluez5/0001-src-device-Fix-stored-gatt-cache-DB-Hash-value-no.patch @@ -0,0 +1,84 @@ +From 9ec8cad56e47c0555a056e928e6568d543b3ae0c Mon Sep 17 00:00:00 2001 +From: Mengshi Wu +Date: Wed, 1 Apr 2026 19:30:04 +0800 +Subject: [PATCH v1] src/device: Fix stored gatt cache DB Hash value not update +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +There is an asymmetry in behavior: when services are added during +the same connection (via Service Changed indication), the persistent +storage (disk) is not updated with the new DB hash, but when services +are removed, it is updated. + +During the same connection, We check DB hash value stored at +/var/lib/bluetooth//cache/. +When established connection, the stored DB Hash value is A.Then we +add new services, the stored DB Hash value is still A which should +change to B. However, if we remove the existing services, the stored +DB Hash value changed to C. + +When performing addition, it goes like this: + +discover_primary_cb() + └─> gatt_db_insert_service() ← NEW service inserted into db + └─> gatt_service_added() ← callback fires immediately + └─> store_gatt_db() ← SAVED TO DISK (hash still OLD) + ... + └─> discovery_op_complete(success=true) + └─> read_db_hash(op) ← sends ATT Read By Type + └─> [ATT response arrives] + └─> db_hash_read_cb() + ├─> gatt_db_attribute_write(op->hash, ...) + │ └─> hash UPDATED IN MEMORY + └─> discovery_op_complete(true, 0) + ├─> [no services to remove, no + │ store_gatt_db called] + └─> service_changed_complete() + +Whereas removal perform like this: +discovery_op_complete(success=true) [1st call] + └─> read_db_hash(op) + └─> op->hash is NULL → sends ATT request → early return +... +[ATT response arrives] +db_hash_read_cb() + └─> gatt_db_attribute_write(op->hash, ) ← hash UPDATED IN MEMORY + └─> discovery_op_complete(true, 0) [2nd call] + └─> read_db_hash(op) → op->hash already set → returns false + └─> gatt_db_remove_service() + └─> gatt_service_removed() + └─> store_gatt_db() ← SAVED TO DISK (hash is NEW) + +There is a timing issue to update DB Hash value. + +The gatt_client_service_changed() callback in src/device.c is called +from service_changed_complete() in gatt-client.c, which is invoked +after db_hash_read_cb() has already updated the hash. Adding +store_gatt_db(device) here guarantees the db is persisted with the +correct, up-to-date hash for both the addition and removal cases. + +Upstream-Status: Backport [https://github.com/bluez/bluez/commit/0fd01e98cf94616a5c1c39749314cdd4a1654687] +Signed-off-by: Mengshi Wu +--- + src/device.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/device.c b/src/device.c +index 3ea683667..cfbde307b 100644 +--- a/src/device.c ++++ b/src/device.c +@@ -6267,7 +6267,11 @@ static void gatt_client_service_changed(uint16_t start_handle, + uint16_t end_handle, + void *user_data) + { ++ struct btd_device *device = user_data; ++ + DBG("start 0x%04x, end: 0x%04x", start_handle, end_handle); ++ ++ store_gatt_db(device); + } + + static void gatt_debug(const char *str, void *user_data) +-- +2.34.1 From patchwork Fri Jun 26 06:42:33 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Deng X-Patchwork-Id: 91025 X-Patchwork-Delegate: yoann.congal@smile.fr Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D25D6CD4F26 for ; Fri, 26 Jun 2026 06:42:58 +0000 (UTC) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.29692.1782456170318795084 for ; Thu, 25 Jun 2026 23:42:50 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@qualcomm.com header.s=qcppdkim1 header.b=iaoXznYY; dkim=pass header.i=@oss.qualcomm.com header.s=google header.b=RxrhMG1m; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: oss.qualcomm.com, ip: 205.220.168.131, mailfrom: wei.deng@oss.qualcomm.com) Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65Q6VZEN4129694 for ; Fri, 26 Jun 2026 06:42:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=/SdhtEbBZag HnQALTdv7hkXdXK1IKBp8oJe3NodW3as=; b=iaoXznYY8Rvl8X7g1/my10ywI2U 84r3SctSUKcmqymuY2++sBIxcDXxNFZ+17HPZxx+e6XwgzZeMtk5K/tsGQZEtPlp OxBPEFGi1WqJpluURP/W/WNLXGkxQm7xscOg+SENTn+ntozco1h7qt0n7Dl3JjmN NGtIiQr26RGBc1DhS9oSdN6HK2hJTis+6bexbR0VD1leUM4M9DFrMnbPZu+c4qhD 8gbk3sN5uGk+ENZEY3iqUlFIjt8LW19PEEkJ6litsriOEb36hRf4toYQPnCbQDYd aCskSmlp5KxkVW9DKuc52hSll0pfuLt4OTGND4yQBtMrbXyi6eqEbCmZl9Q== Received: from mail-dl1-f69.google.com (mail-dl1-f69.google.com [74.125.82.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f1j1ngnyj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 26 Jun 2026 06:42:49 +0000 (GMT) Received: by mail-dl1-f69.google.com with SMTP id a92af1059eb24-139ab61b86aso21835c88.2 for ; Thu, 25 Jun 2026 23:42:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782456169; x=1783060969; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=/SdhtEbBZagHnQALTdv7hkXdXK1IKBp8oJe3NodW3as=; b=RxrhMG1m5EYLSDjLjllAY3WEa8pLUIWtryVTICrMlwke/YZwjjTuvotvmB2FAhdGDT W+doPWxpqaqLFEVJN0lgN8jd+dUBTLwhkFQVANa28TKt7F2A6zev8g6EBHkHlyvYX/bd rDtp1vgzat0UNX02Bx/lkn1on3v7cZjty+khDNDz6y9+p8URpd3os9Arqhxb49pin8sh 9+R7s/m8G9hBXVBMq0d1Z3Xyi3JmREB7DeG8xDbTZ2E8A1RRPeBH3+gSlpHxdZwky/fc 4YuVA6AB3yKgHox5k3JwzzHEYoDOOIJneJI5S+ZFYM9kls6tsXyBQbljcTyUv+oGghVq i12g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782456169; x=1783060969; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=/SdhtEbBZagHnQALTdv7hkXdXK1IKBp8oJe3NodW3as=; b=kmv+tspoyDQBj0epUfRIm/6D55ZrI5KBML8zMZBUhpsrKqdaWXOaO7BcvkoJPyxWba AhbVzxFqFSM5Pv6jGab1FNS0h1gbfxZae++Ixdh/Wctkp44VVLshiF7pbvDirEQ1eyVO wkUzQ0fZp1C+gaUPkrfbVw4Zvu5yq9PnfEk18RvFc7dyKxyY/QOzB/HhBjnOi32eZgLL EfcknHvOg8dATtrUMD4ow4v4zcV2JnrbrOcPmA+ahRcld34WLmRhd9KW2UsmUZBxslat P9y0vFn2rd11g4jkujdBSGr9ipyRojR44tPBFNbVo2nVZPgQxqrxRlPOhVq1ygjTC+hF KtDw== X-Gm-Message-State: AOJu0YzD7Udoif0d3nIrOBPtiI2U4jwAMqNlimQexbOZsknTrleXc8oJ b0481ZtkIEoaqh1QVVAv+8oxOG1/7Bjjq6OMsEhOZhxw9+7eo4tSgoAID6ZZ1+FS6nNguHmCZFF 8B1EJuw/MucnYQ2XtQAMaJJRKnco4lZinu1/dh3xcapujINpts/pemghkar7dnldZb/MB64yA83 NxFrT7UbFYk0DCDEMQUg== X-Gm-Gg: AfdE7cnVRApDfV4UNU57fruhTEi9mPu5s1imd6tVchm3FQwzlaPSmK0wxqV1dhQJ1X7 kNvUkHNB0WFn6COJg3+7UFz+77G/MTOUN++05j/w5NxuOA9S4clM4bJp/ZdZgf23r/RKto98EPr BJTJEalHTO04wVVVK6jqtb/sNkrptgB9p7honcqE0wKyVxKStYs5GQcTJe+IHVlhmPYZDyE4UDP PD076wKAbxW7a2e+53R9p7qNNFOnL5InRXw+GB9EpbgkX6W6+JqIp294XMm4PhkoFz+NpttAL0d +lZFlcqvY/LdfpPzIYOhws1TrTaLhTXsZ7pfDVWZIOvQX1HXbn4r2hWioNv9IB1N5L8ZkUPrI+o I1hI0/MfEHEW6WJ362qIUd3s775VtBrvS6pLNXbzdLqVSJyOpZREjYx/JpnwIGw== X-Received: by 2002:a05:7300:cb86:b0:2da:b05a:5a7d with SMTP id 5a478bee46e88-30c8488c109mr3367957eec.0.1782456168726; Thu, 25 Jun 2026 23:42:48 -0700 (PDT) X-Received: by 2002:a05:7300:cb86:b0:2da:b05a:5a7d with SMTP id 5a478bee46e88-30c8488c109mr3367931eec.0.1782456168150; Thu, 25 Jun 2026 23:42:48 -0700 (PDT) Received: from hu-weiden-sha.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30c7cac87dcsm16628270eec.31.2026.06.25.23.42.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jun 2026 23:42:47 -0700 (PDT) From: Wei Deng To: openembedded-core@lists.openembedded.org Cc: yoann.congal@smile.fr, cheng.jiang@oss.qualcomm.com, shuai.zhang@oss.qualcomm.com, mengshi.wu@oss.qualcomm.com, jinwang.li@oss.qualcomm.com, xiuzhuo.shang@oss.qualcomm.com Subject: [PATCH 4/4] bluez5: set L2CAP IMTU for OBEX profile listeners Date: Fri, 26 Jun 2026 12:12:33 +0530 Message-Id: <20260626064233.704350-5-wei.deng@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260626064233.704350-1-wei.deng@oss.qualcomm.com> References: <20260626064233.704350-1-wei.deng@oss.qualcomm.com> MIME-Version: 1.0 X-Proofpoint-GUID: gSZRuRnYsCtlwfFzSNlbr9sW8YTHRs_w X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI2MDA1MCBTYWx0ZWRfX05gAf0eEGb0B ysKcbok51YGLG9Xd0pKPCwhticHhrbZoUZf/tx2fFO61gEpYFih7AmPCV27pnZuVH60oQsUyGq0 eWNd6GxkIJyE6T5VckkyIkPAGqhvPGDAAxBexBdt15NEEtbVxe+oIM8HPHaRs8P4zmW5ATJf2Ll +eholnb5BHjxhFeBJpPYIFmyP5HlB17OSca+8fBA27wYba8ZVe1gjrjMvIlNoqfWgSngMck9Vf7 dge4zBqMs5QfXs0NCWxJI0J9Vi90Q0x6RaTWbSSdWXxLhpr4w52Uy+8OL+gCZAI2Q+6LX8VbsVL wZzdOF3kLtM5dPLbLlgXihx0d6WUC1kmQVhFlF5PlibsIptjzYKl8/d00H0Cmo4ay+uDFET1Ib8 QJaEc3lgulfvrPSBd2lYJG6BtPDkPJ5ecGAStjbni8O6+1wNZxYN6Z5pmJfeIwl5aK9GKE/Xelv VkNyTA15fTE0Y6A/Arw== X-Authority-Analysis: v=2.4 cv=W+cIkxWk c=1 sm=1 tr=0 ts=6a3e1f69 cx=c_pps a=kVLUcbK0zfr7ocalXnG1qA==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=NEAV23lmAAAA:8 a=EUspDBNiAAAA:8 a=dOK3wYaXzV_A1W3SHmkA:9 a=vr4QvYf-bLy2KjpDp97w:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI2MDA1MCBTYWx0ZWRfX0FCR2P2d/BLY QxijUtyPZtOBJeDh2/9WFslBVfTl3X9DsAuostXfxZiir2u3PqM7J21uFIKAkV+UkS8du/YmDJ7 KXqdE78eugb4JAOQtUqykS+Z2kKlwkM= X-Proofpoint-ORIG-GUID: gSZRuRnYsCtlwfFzSNlbr9sW8YTHRs_w X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-26_02,2026-06-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 malwarescore=0 priorityscore=1501 spamscore=0 bulkscore=0 phishscore=0 lowpriorityscore=0 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606260050 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 26 Jun 2026 06:42:58 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/239607 Backport upstream fix that adds an imtu field to default_settings for OBEX profiles (OPP, FTP, PBAP, MAS, MNS) and applies it to the L2CAP listening socket via bt_io_set(). Without this, the listening socket advertises the L2CAP minimum of 672 bytes in L2CAP_CONFIGURATION_RSP, limiting the peer's outgoing PDU size and degrading Rx throughput. Upstream-Status: Backport [bluez/bluez@646014a] Signed-off-by: Wei Deng --- meta/recipes-connectivity/bluez5/bluez5.inc | 1 + ...2CAP-IMTU-for-OBEX-profile-listeners.patch | 118 ++++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-profile-Set-L2CAP-IMTU-for-OBEX-profile-listeners.patch diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc index 4e51cc9a213..ad07e0d3c4f 100644 --- a/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/meta/recipes-connectivity/bluez5/bluez5.inc @@ -74,6 +74,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ file://0001-transport-Fix-set-volume-failure-with-invalid-device.patch \ file://0001-advertising-Fix-sending-extra-bytes-with-MGMT_OP_ADD.patch \ file://0001-src-device-Fix-stored-gatt-cache-DB-Hash-value-no.patch \ + file://0001-profile-Set-L2CAP-IMTU-for-OBEX-profile-listeners.patch \ " S = "${UNPACKDIR}/bluez-${PV}" diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-profile-Set-L2CAP-IMTU-for-OBEX-profile-listeners.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-profile-Set-L2CAP-IMTU-for-OBEX-profile-listeners.patch new file mode 100644 index 00000000000..332b11464eb --- /dev/null +++ b/meta/recipes-connectivity/bluez5/bluez5/0001-profile-Set-L2CAP-IMTU-for-OBEX-profile-listeners.patch @@ -0,0 +1,118 @@ +From 646014a6a246fe99df27da12d2de7bcd2e04d0df Mon Sep 17 00:00:00 2001 +From: Wei Deng +Date: Thu, 4 Jun 2026 15:00:24 +0530 +Subject: [PATCH] profile: Set L2CAP IMTU for OBEX profile listeners + +The default_settings entries for OBEX profiles (OPP, FTP, PBAP, MAS, +MNS) have no imtu field, so ext_start_servers() creates the L2CAP +listening socket without an explicit IMTU. This causes the socket to +advertise the L2CAP minimum of 672 bytes in L2CAP_CONFIGURATION_RSP, +limiting the peer's outgoing PDU size and degrading Rx throughput. + +Add an imtu field to default_settings and set it to 32767 for all +OBEX profiles that use L2CAP. Copy the value in ext_set_defaults() +and apply it to the listening socket via bt_io_set() after +bt_io_listen() succeeds. + +Signed-off-by: Wei Deng +Upstream-Status: Backport [https://github.com/bluez/bluez/commit/646014a6a246fe99df27da12d2de7bcd2e04d0df] +--- + src/profile.c | 19 +++++++++++++++++-- + 1 file changed, 17 insertions(+), 2 deletions(-) + +diff --git a/src/profile.c b/src/profile.c +index dfc5f7161..65df0f7a0 100644 +--- a/src/profile.c ++++ b/src/profile.c +@@ -55,6 +55,8 @@ + #define MAS_DEFAULT_CHANNEL 16 + #define MNS_DEFAULT_CHANNEL 17 + ++#define BT_RX_MTU 32767 ++ + #define BTD_PROFILE_PSM_AUTO -1 + #define BTD_PROFILE_CHAN_AUTO -1 + +@@ -678,6 +680,7 @@ struct ext_profile { + + uint16_t version; + uint16_t features; ++ uint16_t imtu; + + GSList *records; + GSList *servers; +@@ -1423,6 +1426,9 @@ static uint32_t ext_start_servers(struct ext_profile *ext, + if (psm == 0) + bt_io_get(io, NULL, BT_IO_OPT_PSM, &psm, + BT_IO_OPT_INVALID); ++ if (ext->imtu) ++ bt_io_set(io, NULL, BT_IO_OPT_IMTU, ext->imtu, ++ BT_IO_OPT_INVALID); + l2cap->io = io; + l2cap->proto = BTPROTO_L2CAP; + l2cap->psm = psm; +@@ -2075,6 +2081,7 @@ static struct default_settings { + struct ext_io *rfcomm); + uint16_t version; + uint16_t features; ++ uint16_t imtu; + } defaults[] = { + { + .uuid = SPP_UUID, +@@ -2142,6 +2149,7 @@ static struct default_settings { + .authorize = false, + .get_record = get_opp_record, + .version = 0x0102, ++ .imtu = BT_RX_MTU, + }, { + .uuid = OBEX_FTP_UUID, + .name = "File Transfer", +@@ -2151,6 +2159,7 @@ static struct default_settings { + .authorize = true, + .get_record = get_ftp_record, + .version = 0x0103, ++ .imtu = BT_RX_MTU, + }, { + .uuid = OBEX_SYNC_UUID, + .name = "Synchronization", +@@ -2167,6 +2176,7 @@ static struct default_settings { + .authorize = true, + .get_record = get_pse_record, + .version = 0x0101, ++ .imtu = BT_RX_MTU, + }, { + .uuid = OBEX_PCE_UUID, + .name = "Phone Book Access Client", +@@ -2182,7 +2192,8 @@ static struct default_settings { + .mode = BT_IO_MODE_ERTM, + .authorize = true, + .get_record = get_mas_record, +- .version = 0x0100 ++ .version = 0x0100, ++ .imtu = BT_RX_MTU, + }, { + .uuid = OBEX_MNS_UUID, + .name = "Message Notification", +@@ -2191,7 +2202,8 @@ static struct default_settings { + .mode = BT_IO_MODE_ERTM, + .authorize = true, + .get_record = get_mns_record, +- .version = 0x0104 ++ .version = 0x0104, ++ .imtu = BT_RX_MTU, + }, + }; + +@@ -2249,6 +2261,9 @@ static void ext_set_defaults(struct ext_profile *ext) + if (settings->features) + ext->features = settings->features; + ++ if (settings->imtu) ++ ext->imtu = settings->imtu; ++ + if (settings->name) + ext->name = g_strdup(settings->name); + } +-- +2.34.1 +