|
@@ -1814,9 +1814,22 @@ static int l2cap_sock_setsockopt_old(struct socket *sock, int optname, char __us
|
|
break;
|
|
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)->imtu = opts.imtu;
|
|
l2cap_pi(sk)->omtu = opts.omtu;
|
|
l2cap_pi(sk)->omtu = opts.omtu;
|
|
- l2cap_pi(sk)->mode = opts.mode;
|
|
|
|
l2cap_pi(sk)->fcs = opts.fcs;
|
|
l2cap_pi(sk)->fcs = opts.fcs;
|
|
l2cap_pi(sk)->max_tx = opts.max_tx;
|
|
l2cap_pi(sk)->max_tx = opts.max_tx;
|
|
l2cap_pi(sk)->tx_win = (__u8)opts.txwin_size;
|
|
l2cap_pi(sk)->tx_win = (__u8)opts.txwin_size;
|