public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC BlueZ PATCH] Bluetooth: Use driver status and experiment value for central-peripheral support.
@ 2021-12-20 22:19 Jesse Melhuish
  2021-12-21 20:57 ` Luiz Augusto von Dentz
  0 siblings, 1 reply; 6+ messages in thread
From: Jesse Melhuish @ 2021-12-20 22:19 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Jesse Melhuish

---
The observed behavior without any change is that support for the
central-peripheral role can be enabled through an experiment flag in
BlueZ regardless of whether the controller can actually support it.
Additionally, if the controller has enabled this feature but the
experiment flag has not been set the central-peripheral role is not
listed as supported. I'm not certain what the expected behavior should
be, but enabling if either source says to enable (this patch) or only
when both enable the feature both seem like reasonable options to start
with.

 src/adapter.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/adapter.c b/src/adapter.c
index 9fc6853c9..60325015b 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -10434,7 +10434,8 @@ static void read_exp_features_complete(uint8_t status, uint16_t length,
 			}
 
 			if (feat->func)
-				feat->func(adapter, action);
+				feat->func(adapter, action ||
+					(rp->features[i].flags & BIT(0)));
 		}
 	}
 }
-- 
2.31.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-12-22 20:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-20 22:19 [RFC BlueZ PATCH] Bluetooth: Use driver status and experiment value for central-peripheral support Jesse Melhuish
2021-12-21 20:57 ` Luiz Augusto von Dentz
2021-12-21 21:19   ` Jesse Melhuish
2021-12-21 21:35     ` Luiz Augusto von Dentz
2021-12-21 22:27       ` Jesse Melhuish
2021-12-22 20:12         ` Luiz Augusto von Dentz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox