浏览代码

Bluetooth: Adds set_default function in L2CAP setup

Some parameters in L2CAP chan are set to default similar way in
socket based channels and A2MP channels. Adds common function which
sets all defaults.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Signed-off-by: Gustavo Padovan <gustavo@padovan.org>
Andrei Emeltchenko 13 年之前
父节点
当前提交
bd4b165312
共有 3 个文件被更改,包括 14 次插入6 次删除
  1. 1 0
      include/net/bluetooth/l2cap.h
  2. 11 0
      net/bluetooth/l2cap_core.c
  3. 2 6
      net/bluetooth/l2cap_sock.c

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

@@ -915,5 +915,6 @@ int l2cap_chan_send(struct l2cap_chan *chan, struct msghdr *msg, size_t len,
 								u32 priority);
 								u32 priority);
 void l2cap_chan_busy(struct l2cap_chan *chan, int busy);
 void l2cap_chan_busy(struct l2cap_chan *chan, int busy);
 int l2cap_chan_check_security(struct l2cap_chan *chan);
 int l2cap_chan_check_security(struct l2cap_chan *chan);
+void l2cap_chan_set_defaults(struct l2cap_chan *chan);
 
 
 #endif /* __L2CAP_H */
 #endif /* __L2CAP_H */

+ 11 - 0
net/bluetooth/l2cap_core.c

@@ -296,6 +296,17 @@ void l2cap_chan_destroy(struct l2cap_chan *chan)
 	l2cap_chan_put(chan);
 	l2cap_chan_put(chan);
 }
 }
 
 
+void l2cap_chan_set_defaults(struct l2cap_chan *chan)
+{
+	chan->fcs  = L2CAP_FCS_CRC16;
+	chan->max_tx = L2CAP_DEFAULT_MAX_TX;
+	chan->tx_win = L2CAP_DEFAULT_TX_WINDOW;
+	chan->tx_win_max = L2CAP_DEFAULT_TX_WINDOW;
+	chan->sec_level = BT_SECURITY_LOW;
+
+	set_bit(FLAG_FORCE_ACTIVE, &chan->flags);
+}
+
 static void __l2cap_chan_add(struct l2cap_conn *conn, struct l2cap_chan *chan)
 static void __l2cap_chan_add(struct l2cap_conn *conn, struct l2cap_chan *chan)
 {
 {
 	BT_DBG("conn %p, psm 0x%2.2x, dcid 0x%4.4x", conn,
 	BT_DBG("conn %p, psm 0x%2.2x, dcid 0x%4.4x", conn,

+ 2 - 6
net/bluetooth/l2cap_sock.c

@@ -1006,12 +1006,8 @@ static void l2cap_sock_init(struct sock *sk, struct sock *parent)
 		} else {
 		} else {
 			chan->mode = L2CAP_MODE_BASIC;
 			chan->mode = L2CAP_MODE_BASIC;
 		}
 		}
-		chan->max_tx = L2CAP_DEFAULT_MAX_TX;
-		chan->fcs  = L2CAP_FCS_CRC16;
-		chan->tx_win = L2CAP_DEFAULT_TX_WINDOW;
-		chan->tx_win_max = L2CAP_DEFAULT_TX_WINDOW;
-		chan->sec_level = BT_SECURITY_LOW;
-		set_bit(FLAG_FORCE_ACTIVE, &chan->flags);
+
+		l2cap_chan_set_defaults(chan);
 	}
 	}
 
 
 	/* Default config options */
 	/* Default config options */