linux-kernelorg-stable/net/bluetooth
Luiz Augusto von Dentz d24e4a7fed Bluetooth: L2CAP: Fix attempting to adjust outgoing MTU
Configuration request only configure the incoming direction of the peer
initiating the request, so using the MTU is the other direction shall
not be used, that said the spec allows the peer responding to adjust:

Bluetooth Core 6.1, Vol 3, Part A, Section 4.5

 'Each configuration parameter value (if any is present) in an
 L2CAP_CONFIGURATION_RSP packet reflects an ‘adjustment’ to a
 configuration parameter value that has been sent (or, in case of
 default values, implied) in the corresponding
 L2CAP_CONFIGURATION_REQ packet.'

That said adjusting the MTU in the response shall be limited to ERTM
channels only as for older modes the remote stack may not be able to
detect the adjustment causing it to silently drop packets.

Link: https://github.com/bluez/bluez/issues/1422
Link: https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/issues/149
Link: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/4793
Fixes: 042bb9603c ("Bluetooth: L2CAP: Fix L2CAP MTU negotiation")
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2025-07-17 10:26:53 -04:00
..
bnep
cmtp
hidp treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
rfcomm treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
6lowpan.c
Kconfig
Makefile Bluetooth: Introduce HCI Driver protocol 2025-05-21 10:28:07 -04:00
af_bluetooth.c Bluetooth: add support for SIOCETHTOOL ETHTOOL_GET_TS_INFO 2025-05-21 10:28:51 -04:00
aosp.c
aosp.h
coredump.c
ecdh_helper.c
ecdh_helper.h
eir.c Bluetooth: eir: Fix possible crashes on eir_create_adv_data 2025-06-11 16:29:22 -04:00
eir.h Bluetooth: eir: Fix possible crashes on eir_create_adv_data 2025-06-11 16:29:22 -04:00
hci_codec.c
hci_codec.h
hci_conn.c Bluetooth: ISO: Fix not using bc_sid as advertisement SID 2025-06-11 16:29:55 -04:00
hci_core.c Bluetooth: hci_dev: replace 'quirks' integer by 'quirk_flags' bitmap 2025-07-16 15:37:53 -04:00
hci_debugfs.c Bluetooth: hci_dev: replace 'quirks' integer by 'quirk_flags' bitmap 2025-07-16 15:37:53 -04:00
hci_debugfs.h
hci_drv.c Bluetooth: Introduce HCI Driver protocol 2025-05-21 10:28:07 -04:00
hci_event.c Bluetooth: hci_dev: replace 'quirks' integer by 'quirk_flags' bitmap 2025-07-16 15:37:53 -04:00
hci_sock.c Bluetooth: Introduce HCI Driver protocol 2025-05-21 10:28:07 -04:00
hci_sync.c Bluetooth: hci_dev: replace 'quirks' integer by 'quirk_flags' bitmap 2025-07-16 15:37:53 -04:00
hci_sysfs.c
iso.c Bluetooth: ISO: Fix not using bc_sid as advertisement SID 2025-06-11 16:29:55 -04:00
l2cap_core.c Bluetooth: L2CAP: Fix attempting to adjust outgoing MTU 2025-07-17 10:26:53 -04:00
l2cap_sock.c Bluetooth: Fix null-ptr-deref in l2cap_sock_resume_cb() 2025-07-16 15:27:38 -04:00
leds.c
leds.h
lib.c
mgmt.c Bluetooth: hci_dev: replace 'quirks' integer by 'quirk_flags' bitmap 2025-07-16 15:37:53 -04:00
mgmt_config.c
mgmt_config.h
mgmt_util.c Bluetooth: MGMT: Protect mgmt_pending list with its own lock 2025-06-05 14:54:57 -04:00
mgmt_util.h Bluetooth: MGMT: Protect mgmt_pending list with its own lock 2025-06-05 14:54:57 -04:00
msft.c Bluetooth: hci_dev: replace 'quirks' integer by 'quirk_flags' bitmap 2025-07-16 15:37:53 -04:00
msft.h
sco.c
selftest.c
selftest.h
smp.c Bluetooth: SMP: Fix using HCI_ERROR_REMOTE_USER_TERM on timeout 2025-07-16 15:33:50 -04:00
smp.h Bluetooth: SMP: If an unallowed command is received consider it a failure 2025-07-16 15:33:30 -04:00