Commit 59e54bd1 authored by Andrei Emeltchenko's avatar Andrei Emeltchenko Committed by Johan Hedberg

Bluetooth: Define L2CAP conf continuation flag

Define Continuation flag which the only flag used from Flags field
in L2CAP Configuration Request and Response.
Signed-off-by: default avatarAndrei Emeltchenko <andrei.emeltchenko@intel.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 8449e381
...@@ -271,6 +271,9 @@ struct l2cap_conf_rsp { ...@@ -271,6 +271,9 @@ struct l2cap_conf_rsp {
#define L2CAP_CONF_PENDING 0x0004 #define L2CAP_CONF_PENDING 0x0004
#define L2CAP_CONF_EFS_REJECT 0x0005 #define L2CAP_CONF_EFS_REJECT 0x0005
/* configuration req/rsp continuation flag */
#define L2CAP_CONF_FLAG_CONTINUATION 0x0001
struct l2cap_conf_opt { struct l2cap_conf_opt {
__u8 type; __u8 type;
__u8 len; __u8 len;
......
...@@ -2944,7 +2944,7 @@ static int l2cap_build_conf_req(struct l2cap_chan *chan, void *data) ...@@ -2944,7 +2944,7 @@ static int l2cap_build_conf_req(struct l2cap_chan *chan, void *data)
} }
req->dcid = cpu_to_le16(chan->dcid); req->dcid = cpu_to_le16(chan->dcid);
req->flags = cpu_to_le16(0); req->flags = __constant_cpu_to_le16(0);
return ptr - data; return ptr - data;
} }
...@@ -3164,7 +3164,7 @@ static int l2cap_parse_conf_req(struct l2cap_chan *chan, void *data) ...@@ -3164,7 +3164,7 @@ static int l2cap_parse_conf_req(struct l2cap_chan *chan, void *data)
} }
rsp->scid = cpu_to_le16(chan->dcid); rsp->scid = cpu_to_le16(chan->dcid);
rsp->result = cpu_to_le16(result); rsp->result = cpu_to_le16(result);
rsp->flags = cpu_to_le16(0x0000); rsp->flags = __constant_cpu_to_le16(0);
return ptr - data; return ptr - data;
} }
...@@ -3263,7 +3263,7 @@ static int l2cap_parse_conf_rsp(struct l2cap_chan *chan, void *rsp, int len, voi ...@@ -3263,7 +3263,7 @@ static int l2cap_parse_conf_rsp(struct l2cap_chan *chan, void *rsp, int len, voi
} }
req->dcid = cpu_to_le16(chan->dcid); req->dcid = cpu_to_le16(chan->dcid);
req->flags = cpu_to_le16(0x0000); req->flags = __constant_cpu_to_le16(0);
return ptr - data; return ptr - data;
} }
...@@ -3618,7 +3618,7 @@ static inline int l2cap_config_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr ...@@ -3618,7 +3618,7 @@ static inline int l2cap_config_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr
memcpy(chan->conf_req + chan->conf_len, req->data, len); memcpy(chan->conf_req + chan->conf_len, req->data, len);
chan->conf_len += len; chan->conf_len += len;
if (flags & 0x0001) { if (flags & L2CAP_CONF_FLAG_CONTINUATION) {
/* Incomplete config. Send empty response. */ /* Incomplete config. Send empty response. */
l2cap_send_cmd(conn, cmd->ident, L2CAP_CONF_RSP, l2cap_send_cmd(conn, cmd->ident, L2CAP_CONF_RSP,
l2cap_build_conf_rsp(chan, rsp, l2cap_build_conf_rsp(chan, rsp,
...@@ -3769,7 +3769,7 @@ static inline int l2cap_config_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr ...@@ -3769,7 +3769,7 @@ static inline int l2cap_config_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr
goto done; goto done;
} }
if (flags & 0x01) if (flags & L2CAP_CONF_FLAG_CONTINUATION)
goto done; goto done;
set_bit(CONF_INPUT_DONE, &chan->conf_state); set_bit(CONF_INPUT_DONE, &chan->conf_state);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment