diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2006-11-18 22:15:20 +0100 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-11-21 16:16:32 -0800 |
commit | 354f60a9952d0af59e684b91cc6e06b95fbbf5ef (patch) | |
tree | 56b583c406b7df011049ec2d0ca0c8c75f94bdc6 /net/bluetooth/l2cap.c | |
parent | 820ae1b865caa05e0614004d0183ca70de2b8665 (diff) | |
download | linux-354f60a9952d0af59e684b91cc6e06b95fbbf5ef.tar.gz linux-354f60a9952d0af59e684b91cc6e06b95fbbf5ef.tar.bz2 linux-354f60a9952d0af59e684b91cc6e06b95fbbf5ef.zip |
[Bluetooth] Ignore L2CAP config requests on disconnect
Any L2CAP connection in disconnecting state shall not response
to any further config requests from the remote side. So in case
such a request is received, ignore it.
Signed-off-by: Ville Tervo <ville.tervo@nokia.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth/l2cap.c')
-rw-r--r-- | net/bluetooth/l2cap.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c index c09d4a20d696..bbf78e6a7bc3 100644 --- a/net/bluetooth/l2cap.c +++ b/net/bluetooth/l2cap.c @@ -1533,6 +1533,9 @@ static inline int l2cap_config_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, dcid))) return -ENOENT; + if (sk->sk_state == BT_DISCONN) + goto unlock; + l2cap_parse_conf_req(sk, req->data, cmd->len - sizeof(*req)); if (flags & 0x0001) { |