Browse Source

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: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Andrei Emeltchenko 13 years ago
parent
commit
59e54bd15d
2 changed files with 8 additions and 5 deletions
  1. 3 0
      include/net/bluetooth/l2cap.h
  2. 5 5
      net/bluetooth/l2cap_core.c

+ 3 - 0
include/net/bluetooth/l2cap.h

@@ -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;

+ 5 - 5
net/bluetooth/l2cap_core.c

@@ -2944,7 +2944,7 @@ done:
 	}
 	}
 
 
 	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 @@ done:
 	}
 	}
 	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
 	}
 	}
 
 
 	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
 	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
 		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);