mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 09:14:19 +08:00
Bluetooth: Check if mode is supported on getsockopt
Add this check to getsockopt makes possible to fail early instead of waiting until listen / connect. Signed-off-by: João Paulo Rechi Vita <jprvita@profusion.mobi> Acked-by: Gustavo F. Padovan <padovan@profusion.mobi> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
bd3c9e255e
commit
0041ecfa30
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user