Parent: f1fb4f95f49ee4221aa8352bc94cd53f06407953
Author: Frédéric Danis <frederic.danis@collabora.com>
Committer: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2025-10-09 22:21:18
Tree: 0eaf689d26f5923872d4c4a1a2bf5ecee953b0db
gobex: Fix abort for SRM operation The OBEX Abort operation currently triggers an OBEX session which prevents further OBEX operations: obexd[327475]: obexd/client/transfer.c:obc_transfer_register() 0x50e000001380 registered /org/bluez/obex/client/session0/transfer0 obexd[327475]: obexd/client/session.c:obc_session_ref() 0x50c0000010c0: ref=3 obexd[327475]: obexd/client/session.c:obc_session_ref() 0x50c0000010c0: ref=4 obexd[327475]: obexd/client/session.c:session_process_transfer() Transfer(0x50e000001380) started obexd[327475]: obexd/client/session.c:obc_session_unref() 0x50c0000010c0: ref=3 obexd[327475]: Transfer(0x50e000001380) Error: Transfer cancelled by user obexd[327475]: obexd/client/session.c:obc_session_ref() 0x50c0000010c0: ref=4 obexd[327475]: obexd/client/transfer.c:obc_transfer_unregister() 0x50e000001380 unregistered /org/bluez/obex/client/session0/transfer0 obexd[327475]: obexd/client/transfer.c:obc_transfer_free() 0x50e000001380 obexd[327475]: obexd/client/session.c:obc_session_unref() 0x50c0000010c0: ref=3 obexd[327475]: obexd/client/session.c:obc_session_unref() 0x50c0000010c0: ref=2 obexd[327475]: Unknown header offset for opcode 0x10 obexd[327475]: obexd/client/session.c:obc_session_shutdown() 0x50c0000010c0 obexd[327475]: obexd/client/session.c:obc_session_ref() 0x50c0000010c0: ref=3 obexd[327475]: obexd/client/pbap.c:pbap_remove() /org/bluez/obex/client/session0 obexd[327475]: obexd/client/session.c:obc_session_unref() 0x50c0000010c0: ref=2 obexd[327475]: obexd/client/session.c:obc_session_unref() 0x50c0000010c0: ref=1 obexd[327475]: obexd/client/session.c:session_unregistered() Session(0x50c0000010c0) unregistered /org/bluez/obex/client/session0 obexd[327475]: obexd/client/session.c:obc_session_unref() 0x50c0000010c0: ref=0 As its highest bit is always set to 1, and so its value located after G_OBEX_RSP_CONTINUE, the G_OBEX_OP_ABORT is part of the operations constants. This has been tested for PBAP and BIP-AVRCP with Android 15 and 16. Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Diffstat
| M | gobex/gobex.c | | | 2 | +- |
1 files changed, 1 insertions(+), 1 deletions(-)