Bluetooth: Fix ACL MTU issue
ERTM and Streaming Modes was having problems when the ACL MTU is lower than MPS. The 'minus 10' is to take in account the header and fcs lenghts. Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi> Reviewed-by: João Paulo Rechi Vita <jprvita@profusion.mobi> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Родитель
7dffe42102
Коммит
d1daa091e8
|
@ -2267,6 +2267,8 @@ done:
|
|||
rfc.retrans_timeout = 0;
|
||||
rfc.monitor_timeout = 0;
|
||||
rfc.max_pdu_size = cpu_to_le16(L2CAP_DEFAULT_MAX_PDU_SIZE);
|
||||
if (L2CAP_DEFAULT_MAX_PDU_SIZE > pi->conn->mtu - 10)
|
||||
rfc.max_pdu_size = pi->conn->mtu - 10;
|
||||
|
||||
l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC,
|
||||
sizeof(rfc), (unsigned long) &rfc);
|
||||
|
@ -2288,6 +2290,8 @@ done:
|
|||
rfc.retrans_timeout = 0;
|
||||
rfc.monitor_timeout = 0;
|
||||
rfc.max_pdu_size = cpu_to_le16(L2CAP_DEFAULT_MAX_PDU_SIZE);
|
||||
if (L2CAP_DEFAULT_MAX_PDU_SIZE > pi->conn->mtu - 10)
|
||||
rfc.max_pdu_size = pi->conn->mtu - 10;
|
||||
|
||||
l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC,
|
||||
sizeof(rfc), (unsigned long) &rfc);
|
||||
|
|
Загрузка…
Ссылка в новой задаче