diff options
-rw-r--r-- | include/net/bluetooth/l2cap.h | 1 | ||||
-rw-r--r-- | net/bluetooth/l2cap_core.c | 9 |
2 files changed, 8 insertions, 2 deletions
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h index d6d8ec8eb8cf..3732a4849f2e 100644 --- a/include/net/bluetooth/l2cap.h +++ b/include/net/bluetooth/l2cap.h | |||
@@ -522,6 +522,7 @@ struct l2cap_conn { | |||
522 | unsigned int mtu; | 522 | unsigned int mtu; |
523 | 523 | ||
524 | __u32 feat_mask; | 524 | __u32 feat_mask; |
525 | __u8 fixed_chan_mask; | ||
525 | 526 | ||
526 | __u8 info_state; | 527 | __u8 info_state; |
527 | __u8 info_ident; | 528 | __u8 info_ident; |
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index df3be692f2cf..bc8d558b01f6 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c | |||
@@ -3209,7 +3209,8 @@ static inline int l2cap_information_rsp(struct l2cap_conn *conn, struct l2cap_cm | |||
3209 | return 0; | 3209 | return 0; |
3210 | } | 3210 | } |
3211 | 3211 | ||
3212 | if (type == L2CAP_IT_FEAT_MASK) { | 3212 | switch (type) { |
3213 | case L2CAP_IT_FEAT_MASK: | ||
3213 | conn->feat_mask = get_unaligned_le32(rsp->data); | 3214 | conn->feat_mask = get_unaligned_le32(rsp->data); |
3214 | 3215 | ||
3215 | if (conn->feat_mask & L2CAP_FEAT_FIXED_CHAN) { | 3216 | if (conn->feat_mask & L2CAP_FEAT_FIXED_CHAN) { |
@@ -3226,11 +3227,15 @@ static inline int l2cap_information_rsp(struct l2cap_conn *conn, struct l2cap_cm | |||
3226 | 3227 | ||
3227 | l2cap_conn_start(conn); | 3228 | l2cap_conn_start(conn); |
3228 | } | 3229 | } |
3229 | } else if (type == L2CAP_IT_FIXED_CHAN) { | 3230 | break; |
3231 | |||
3232 | case L2CAP_IT_FIXED_CHAN: | ||
3233 | conn->fixed_chan_mask = rsp->data[0]; | ||
3230 | conn->info_state |= L2CAP_INFO_FEAT_MASK_REQ_DONE; | 3234 | conn->info_state |= L2CAP_INFO_FEAT_MASK_REQ_DONE; |
3231 | conn->info_ident = 0; | 3235 | conn->info_ident = 0; |
3232 | 3236 | ||
3233 | l2cap_conn_start(conn); | 3237 | l2cap_conn_start(conn); |
3238 | break; | ||
3234 | } | 3239 | } |
3235 | 3240 | ||
3236 | return 0; | 3241 | return 0; |