diff mbox series

[BlueZ,v1] shared/att: Fix failing to set security level

Message ID 20241119163731.2767660-1-luiz.dentz@gmail.com
State New
Headers show
Series [BlueZ,v1] shared/att: Fix failing to set security level | expand

Commit Message

Luiz Augusto von Dentz Nov. 19, 2024, 4:37 p.m. UTC
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

bt_att_chan_set_security attempts to set BT_SECURITY without first
checking what is the current security level which may cause errors
since the kernel does actually return -EINVAL when the security doesn't
change.
---
 src/shared/att.c | 3 +++
 1 file changed, 3 insertions(+)
diff mbox series

Patch

diff --git a/src/shared/att.c b/src/shared/att.c
index 4a406f4b91a4..dabbdb4315eb 100644
--- a/src/shared/att.c
+++ b/src/shared/att.c
@@ -727,6 +727,9 @@  static bool bt_att_chan_set_security(struct bt_att_chan *chan, int level)
 {
 	struct bt_security sec;
 
+	if (level == bt_att_chan_get_security(chan))
+		return true;
+
 	if (chan->type == BT_ATT_LOCAL) {
 		chan->sec_level = level;
 		return true;