Re: [PATCH BlueZ v2] device: Clear pending_flags on error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



What do you think about this patch? I saw that this was still pending while my other related ones have been merged. I'm not sure if you'd like some changes or if it simply fell through the cracks.

Regards,
Ludovico de Nittis

On 1/28/25 12:56 PM, Ludovico de Nittis wrote:
If setting WakeAllowed, or the device privacy, fails, we may end up in a
situation where `pending_flags` is still set to some `DEVICE_FLAG_*`
values, for example from `device_set_wake_allowed()` or
`adapter_set_device_flags()`.

This can confuse further requests because they'll assume that there is
still a pending request in progress.
---
  src/adapter.c | 1 +
  src/device.c  | 1 +
  2 files changed, 2 insertions(+)

diff --git a/src/adapter.c b/src/adapter.c
index 5d4117a49..3eb343cbc 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -5580,6 +5580,7 @@ static void set_device_privacy_complete(uint8_t status, uint16_t length,
  	if (status != MGMT_STATUS_SUCCESS) {
  		error("Set device flags return status: %s",
  					mgmt_errstr(status));
+		btd_device_set_pending_flags(dev, 0);
  		return;
  	}
diff --git a/src/device.c b/src/device.c
index e8bff718c..3c2337198 100644
--- a/src/device.c
+++ b/src/device.c
@@ -1575,6 +1575,7 @@ static void set_wake_allowed_complete(uint8_t status, uint16_t length,
  			dev->wake_id = -1U;
  		}
  		dev->pending_wake_allowed = FALSE;
+		dev->pending_flags = 0;
  		return;
  	}





[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux