[bluez/bluez] 9081c9: device: Fix device removal on le-connection-abort-...

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

 



  Branch: refs/heads/994230
  Home:   https://github.com/bluez/bluez
  Commit: 9081c996fc62ab987282b7da23e0427388b02171
      https://github.com/bluez/bluez/commit/9081c996fc62ab987282b7da23e0427388b02171
  Author: J. Nick Koston <nick@xxxxxxxxxxxxxxxxx>
  Date:   2025-08-21 (Thu, 21 Aug 2025)

  Changed paths:
    M src/device.c

  Log Message:
  -----------
  device: Fix device removal on le-connection-abort-by-local

When a LE connection fails with le-connection-abort-by-local, temporary
devices are incorrectly removed from D-Bus, preventing clients from
retrying the connection.

The issue occurs when:
1. A connection attempt fails with ECONNABORTED (including the
   le-connection-abort-by-local case)
2. The device is added to the connect list for automatic retry
3. The temporary timer (30s by default) is not restarted
4. If the timer expires before the retry completes, the device is
   removed from D-Bus
5. Subsequent retry attempts fail with "device not found"

This commonly happens with devices that abort connections during
pairing or when incomplete GATT discovery triggers an abort.

The fix restarts the temporary timer when ECONNABORTED occurs, ensuring
the device remains available on D-Bus for the retry attempt. This
matches the behavior when new connection attempts are initiated, where
the timer is restarted to allow time for connection/pairing to complete.

Reproducer logs show:
- 14:19:37.374 - le-connection-abort-by-local, retry queued
- 14:19:56.343 - Device removed from D-Bus (~19s later)
- 14:19:56.606 - Retry fails: device not found on D-Bus

With this fix, the device remains available for the retry, allowing
the connection to succeed on subsequent attempts.

Fixes: https://github.com/bluez/bluez/issues/1489
Signed-off-by: J. Nick Koston <nick@xxxxxxxxxx>
Signed-off-by: J. Nick Koston <nick@xxxxxxxxxxxxxxxxx>



To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications




[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