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:
parent
7dffe42102
commit
d1daa091e8
1 changed files with 4 additions and 0 deletions
|
@ -2267,6 +2267,8 @@ static int l2cap_build_conf_req(struct sock *sk, void *data)
|
|||
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 @@ static int l2cap_build_conf_req(struct sock *sk, void *data)
|
|||
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);
|
||||
|
|
Loading…
Add table
Reference in a new issue