Bluetooth: Add RFCOMM option to use L2CAP ERTM mode
By default the RFCOMM layer would still use L2CAP basic mode. For testing purposes this option enables RFCOMM to select enhanced retransmission mode. Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
5fbcd3d1a0
commit
eae38eede2
@ -51,6 +51,7 @@
|
|||||||
static int disable_cfc = 0;
|
static int disable_cfc = 0;
|
||||||
static int channel_mtu = -1;
|
static int channel_mtu = -1;
|
||||||
static unsigned int l2cap_mtu = RFCOMM_MAX_L2CAP_MTU;
|
static unsigned int l2cap_mtu = RFCOMM_MAX_L2CAP_MTU;
|
||||||
|
static int l2cap_ertm = 0;
|
||||||
|
|
||||||
static struct task_struct *rfcomm_thread;
|
static struct task_struct *rfcomm_thread;
|
||||||
|
|
||||||
@ -702,6 +703,8 @@ static struct rfcomm_session *rfcomm_session_create(bdaddr_t *src, bdaddr_t *dst
|
|||||||
sk = sock->sk;
|
sk = sock->sk;
|
||||||
lock_sock(sk);
|
lock_sock(sk);
|
||||||
l2cap_pi(sk)->imtu = l2cap_mtu;
|
l2cap_pi(sk)->imtu = l2cap_mtu;
|
||||||
|
if (l2cap_ertm)
|
||||||
|
l2cap_pi(sk)->mode = L2CAP_MODE_ERTM;
|
||||||
release_sock(sk);
|
release_sock(sk);
|
||||||
|
|
||||||
s = rfcomm_session_add(sock, BT_BOUND);
|
s = rfcomm_session_add(sock, BT_BOUND);
|
||||||
@ -2185,6 +2188,9 @@ MODULE_PARM_DESC(channel_mtu, "Default MTU for the RFCOMM channel");
|
|||||||
module_param(l2cap_mtu, uint, 0644);
|
module_param(l2cap_mtu, uint, 0644);
|
||||||
MODULE_PARM_DESC(l2cap_mtu, "Default MTU for the L2CAP connection");
|
MODULE_PARM_DESC(l2cap_mtu, "Default MTU for the L2CAP connection");
|
||||||
|
|
||||||
|
module_param(l2cap_ertm, bool, 0644);
|
||||||
|
MODULE_PARM_DESC(l2cap_ertm, "Use L2CAP ERTM mode for connection");
|
||||||
|
|
||||||
MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>");
|
MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>");
|
||||||
MODULE_DESCRIPTION("Bluetooth RFCOMM ver " VERSION);
|
MODULE_DESCRIPTION("Bluetooth RFCOMM ver " VERSION);
|
||||||
MODULE_VERSION(VERSION);
|
MODULE_VERSION(VERSION);
|
||||||
|
Loading…
Reference in New Issue
Block a user