From f78eef5957086ae4613fbcb94ddbed899136bbe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Rechi=20Vita?= Date: Sat, 1 May 2010 16:15:42 -0300 Subject: [PATCH] --- yaml --- r: 194855 b: refs/heads/master c: 0041ecfa3025d7612fdaab12b2f07c9c3c09f42f h: refs/heads/master i: 194853: 5e3f377b6536a93567cee2c5fd8d9a57f251a5a6 194851: 3b90e6894e477451b4dd4dafab04758718559dcb 194847: ac871180ec16fbe62ccf48bf9fe3f49bc3704b25 v: v3 --- [refs] | 2 +- trunk/net/bluetooth/l2cap.c | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 1ed68e103a4f..33c54ddd6d5c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bd3c9e255e76ae232d417e3914ca5d80ca3e9485 +refs/heads/master: 0041ecfa3025d7612fdaab12b2f07c9c3c09f42f diff --git a/trunk/net/bluetooth/l2cap.c b/trunk/net/bluetooth/l2cap.c index 1a32562adf46..bf5bb7dc6abf 100644 --- a/trunk/net/bluetooth/l2cap.c +++ b/trunk/net/bluetooth/l2cap.c @@ -1814,9 +1814,22 @@ static int l2cap_sock_setsockopt_old(struct socket *sock, int optname, char __us break; } + l2cap_pi(sk)->mode = opts.mode; + switch (l2cap_pi(sk)->mode) { + case L2CAP_MODE_BASIC: + break; + case L2CAP_MODE_ERTM: + case L2CAP_MODE_STREAMING: + if (enable_ertm) + break; + /* fall through */ + default: + err = -EINVAL; + break; + } + l2cap_pi(sk)->imtu = opts.imtu; l2cap_pi(sk)->omtu = opts.omtu; - l2cap_pi(sk)->mode = opts.mode; l2cap_pi(sk)->fcs = opts.fcs; l2cap_pi(sk)->max_tx = opts.max_tx; l2cap_pi(sk)->tx_win = (__u8)opts.txwin_size;