aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/bluetooth/l2cap_core.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index cf48330a7fdc..0272cd1519fa 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -60,7 +60,7 @@ int disable_ertm;
60int enable_hs; 60int enable_hs;
61 61
62static u32 l2cap_feat_mask = L2CAP_FEAT_FIXED_CHAN; 62static u32 l2cap_feat_mask = L2CAP_FEAT_FIXED_CHAN;
63static u8 l2cap_fixed_chan[8] = { 0x02, }; 63static u8 l2cap_fixed_chan[8] = { L2CAP_FC_L2CAP, };
64 64
65static LIST_HEAD(chan_list); 65static LIST_HEAD(chan_list);
66static DEFINE_RWLOCK(chan_list_lock); 66static DEFINE_RWLOCK(chan_list_lock);
@@ -3035,6 +3035,12 @@ static inline int l2cap_information_req(struct l2cap_conn *conn, struct l2cap_cm
3035 } else if (type == L2CAP_IT_FIXED_CHAN) { 3035 } else if (type == L2CAP_IT_FIXED_CHAN) {
3036 u8 buf[12]; 3036 u8 buf[12];
3037 struct l2cap_info_rsp *rsp = (struct l2cap_info_rsp *) buf; 3037 struct l2cap_info_rsp *rsp = (struct l2cap_info_rsp *) buf;
3038
3039 if (enable_hs)
3040 l2cap_fixed_chan[0] |= L2CAP_FC_A2MP;
3041 else
3042 l2cap_fixed_chan[0] &= ~L2CAP_FC_A2MP;
3043
3038 rsp->type = cpu_to_le16(L2CAP_IT_FIXED_CHAN); 3044 rsp->type = cpu_to_le16(L2CAP_IT_FIXED_CHAN);
3039 rsp->result = cpu_to_le16(L2CAP_IR_SUCCESS); 3045 rsp->result = cpu_to_le16(L2CAP_IR_SUCCESS);
3040 memcpy(rsp->data, l2cap_fixed_chan, sizeof(l2cap_fixed_chan)); 3046 memcpy(rsp->data, l2cap_fixed_chan, sizeof(l2cap_fixed_chan));