Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp5179729rdb; Wed, 13 Dec 2023 00:50:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IHQt0gVQttOPLTut6IRLlTmpj9J3V+ZiZ4CFvMtt/I6pWYlipHV9prArcegdsqBV3jBPAs6 X-Received: by 2002:a05:6512:238f:b0:50d:1a7f:f76 with SMTP id c15-20020a056512238f00b0050d1a7f0f76mr4146344lfv.65.1702457430600; Wed, 13 Dec 2023 00:50:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702457430; cv=none; d=google.com; s=arc-20160816; b=ufBChGcoNT05GscJp0ltdMiEr/ZNLtQE9lnJC/c/iy+gXZfbfvLYGo415ST5NifRwj VJf0L7eTYiJvjjxQZpKRJnMMnix+NSgUdFq/Uru6vjxwQhkuzGIotaNf4kuhnw29IHXH 8Xocn49GflPFMa91EX+P+k3hOfdyC7QtsEzEnr8UDyeYkoR6kxFuSjCygSYQRrXyX9EV f+ZK7ATFywnF+IZz0OJyukOAGaOVE7HX+5Fv+cCFw1k0NN/8Fr2Zw+7+2sshIZJGTW7+ ypKN7NnVjjDiQ5PSXQcKtJI8hpy6+a2VPVeGwS13fhkm6uOz80d2mDr/MBL8ctayMY+Q ao8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:to:from :dkim-signature; bh=KZyG09lxCjXP2gIyG/AtI62H7xi8d3QsHEZm43AWg1U=; fh=4lGQI6056MBa4/oovMyIYaKLn+Wz/24RGvUivMmQP8E=; b=bj38PYCHSPCgYGOIjWlKwkBvDhHvDSevXRCggQz+sKquWPeubq4+DXOLz9JzQJkcFw VF9s4vtUimLG4z6lL+xZHMeZ3Hungbs864WLdEB4AV+glNJgE13K0pclypQkS6/5G4aw MGrts6Pk7sn/WyuTtrN0j8ZQaSUQvWUE9Gg6N+hytDxIsgHEN+HUpwduRh7GT44cemUz OB8CiA5CfgCLC48EW6mpv6+WY3MwXOKn1cgTYd4hy5ePC6njnA/oF8N2tmuH5BibVCnn hkbaWfqHH5SrYwM/5zD9swy3C01XiNNQQenn1VdGaczKv5BmELBO5rkn4pofqt3oamHs E3OQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=vztZKP92; spf=pass (google.com: domain of linux-bluetooth+bounces-574-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-bluetooth+bounces-574-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id w23-20020a170906131700b00a1daeb8c3edsi5471872ejb.772.2023.12.13.00.50.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 00:50:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-bluetooth+bounces-574-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=vztZKP92; spf=pass (google.com: domain of linux-bluetooth+bounces-574-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-bluetooth+bounces-574-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 5594C1F211C0 for ; Wed, 13 Dec 2023 08:50:30 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 42D001EB42; Wed, 13 Dec 2023 08:50:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="vztZKP92" X-Original-To: linux-bluetooth@vger.kernel.org Received: from madrid.collaboradmins.com (madrid.collaboradmins.com [IPv6:2a00:1098:ed:100::25]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F29CDAC for ; Wed, 13 Dec 2023 00:50:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1702457417; bh=nJpa2TiPtn+b4EII7Nr4w/r6ldy/NtBawrd32K7u5RQ=; h=From:To:Subject:Date:From; b=vztZKP929C8f5HGFKGJ13LxOb8SQ/1CR2rPBjQtTWhR1QG6dbgal0h/meDIlJiUIO EhlH9VfukG5AOyMPUSSwbAUTfx9vqUf9Cxdx42bx/qiUMr6laRVv73GdnhICreyzCU C+nf50vF9fKtvLo/BlQgv5KSigBOw1aZSRK7MoZOAx/onqo833hjz/Zxj195jSBHcP sfXT0Py44iqFcjRtf7RZYA0dBHl1Nze2sZ7s+/vFlCl1O7X/jrCtR9K5A7IOM4YpAq 5KZ5Dz7fLkgXf1wypfY9AUoGFb6RZsKlNSMll3HvGtEiYNoSMHZOoYTgeu4RYZ3Owk nGkru8GOGPxFg== Received: from fdanis-XPS-13-9370.. (cola.collaboradmins.com [195.201.22.229]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: fdanis) by madrid.collaboradmins.com (Postfix) with ESMTPSA id 7ACD43781482 for ; Wed, 13 Dec 2023 08:50:17 +0000 (UTC) From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Danis?= To: linux-bluetooth@vger.kernel.org Subject: [PATCH BlueZ] hog-lib: Fix HoG discovering characteristics order Date: Wed, 13 Dec 2023 09:50:11 +0100 Message-Id: <20231213085011.1152912-1-frederic.danis@collabora.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit PTS test HOGP/RH/HGRF/BV-01-I fails as inconclusive after waiting for second report map read request with message 'Please send ReadRequest to read Report Map characteristic with handle = 0x00E7'. Handle which has already been read, as it can be seen in btmon traces. This commit change the recursion order to read instance characteristics before recurring to next instances. Closes: https://github.com/bluez/bluez/issues/657 --- profiles/input/hog-lib.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/profiles/input/hog-lib.c b/profiles/input/hog-lib.c index 7ff1ede3d..db62a3c9f 100644 --- a/profiles/input/hog-lib.c +++ b/profiles/input/hog-lib.c @@ -1780,12 +1780,6 @@ bool bt_hog_attach(struct bt_hog *hog, void *gatt) queue_foreach(hog->bas, (void *) bt_bas_attach, gatt); - for (l = hog->instances; l; l = l->next) { - struct bt_hog *instance = l->data; - - bt_hog_attach(instance, gatt); - } - if (!hog->uhid_created) { DBG("HoG discovering characteristics"); if (hog->attr) @@ -1798,6 +1792,12 @@ bool bt_hog_attach(struct bt_hog *hog, void *gatt) char_discovered_cb, hog); } + for (l = hog->instances; l; l = l->next) { + struct bt_hog *instance = l->data; + + bt_hog_attach(instance, gatt); + } + if (!hog->uhid_created) return true; -- 2.34.1