aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorAndrei Emeltchenko <andrei.emeltchenko@intel.com>2012-09-27 10:26:22 -0400
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>2012-09-27 16:34:06 -0400
commit9495b2ee757f7747d7c28f9ba8d7edc53005ec2d (patch)
tree196d6c79f2c5836fc55c5515d9ece5e3d6aab254 /include/net
parent2766be48a7181d7f2a84831ca7e7be248fb6fdb5 (diff)
Bluetooth: AMP: Process Chan Selected event
Channel Selected event indicates that link information data is available. Read it with Read Local AMP Assoc command. The data shall be sent in the A2MP Create Physical Link Request. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/bluetooth/a2mp.h3
-rw-r--r--include/net/bluetooth/amp.h2
-rw-r--r--include/net/bluetooth/l2cap.h2
3 files changed, 7 insertions, 0 deletions
diff --git a/include/net/bluetooth/a2mp.h b/include/net/bluetooth/a2mp.h
index 9fda7c94913f..e776ab2dc572 100644
--- a/include/net/bluetooth/a2mp.h
+++ b/include/net/bluetooth/a2mp.h
@@ -22,6 +22,7 @@
22enum amp_mgr_state { 22enum amp_mgr_state {
23 READ_LOC_AMP_INFO, 23 READ_LOC_AMP_INFO,
24 READ_LOC_AMP_ASSOC, 24 READ_LOC_AMP_ASSOC,
25 READ_LOC_AMP_ASSOC_FINAL,
25}; 26};
26 27
27struct amp_mgr { 28struct amp_mgr {
@@ -134,6 +135,7 @@ extern struct mutex amp_mgr_list_lock;
134 135
135void amp_mgr_get(struct amp_mgr *mgr); 136void amp_mgr_get(struct amp_mgr *mgr);
136int amp_mgr_put(struct amp_mgr *mgr); 137int amp_mgr_put(struct amp_mgr *mgr);
138u8 __next_ident(struct amp_mgr *mgr);
137struct l2cap_chan *a2mp_channel_create(struct l2cap_conn *conn, 139struct l2cap_chan *a2mp_channel_create(struct l2cap_conn *conn,
138 struct sk_buff *skb); 140 struct sk_buff *skb);
139struct amp_mgr *amp_mgr_lookup_by_state(u8 state); 141struct amp_mgr *amp_mgr_lookup_by_state(u8 state);
@@ -141,5 +143,6 @@ void a2mp_send(struct amp_mgr *mgr, u8 code, u8 ident, u16 len, void *data);
141void a2mp_discover_amp(struct l2cap_chan *chan); 143void a2mp_discover_amp(struct l2cap_chan *chan);
142void a2mp_send_getinfo_rsp(struct hci_dev *hdev); 144void a2mp_send_getinfo_rsp(struct hci_dev *hdev);
143void a2mp_send_getampassoc_rsp(struct hci_dev *hdev, u8 status); 145void a2mp_send_getampassoc_rsp(struct hci_dev *hdev, u8 status);
146void a2mp_send_create_phy_link_req(struct hci_dev *hdev, u8 status);
144 147
145#endif /* __A2MP_H */ 148#endif /* __A2MP_H */
diff --git a/include/net/bluetooth/amp.h b/include/net/bluetooth/amp.h
index 8f8032965eaf..70496c07afaa 100644
--- a/include/net/bluetooth/amp.h
+++ b/include/net/bluetooth/amp.h
@@ -37,6 +37,8 @@ int phylink_gen_key(struct hci_conn *hcon, u8 *data, u8 *len, u8 *type);
37void amp_read_loc_info(struct hci_dev *hdev, struct amp_mgr *mgr); 37void amp_read_loc_info(struct hci_dev *hdev, struct amp_mgr *mgr);
38void amp_read_loc_assoc_frag(struct hci_dev *hdev, u8 phy_handle); 38void amp_read_loc_assoc_frag(struct hci_dev *hdev, u8 phy_handle);
39void amp_read_loc_assoc(struct hci_dev *hdev, struct amp_mgr *mgr); 39void amp_read_loc_assoc(struct hci_dev *hdev, struct amp_mgr *mgr);
40void amp_read_loc_assoc_final_data(struct hci_dev *hdev,
41 struct hci_conn *hcon);
40void amp_create_phylink(struct hci_dev *hdev, struct amp_mgr *mgr, 42void amp_create_phylink(struct hci_dev *hdev, struct amp_mgr *mgr,
41 struct hci_conn *hcon); 43 struct hci_conn *hcon);
42void amp_write_remote_assoc(struct hci_dev *hdev, u8 handle); 44void amp_write_remote_assoc(struct hci_dev *hdev, u8 handle);
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h
index 0967f9e33750..ab58b81fb7c5 100644
--- a/include/net/bluetooth/l2cap.h
+++ b/include/net/bluetooth/l2cap.h
@@ -508,6 +508,8 @@ struct l2cap_chan {
508 __u32 remote_acc_lat; 508 __u32 remote_acc_lat;
509 __u32 remote_flush_to; 509 __u32 remote_flush_to;
510 510
511 __u8 ctrl_id;
512
511 struct delayed_work chan_timer; 513 struct delayed_work chan_timer;
512 struct delayed_work retrans_timer; 514 struct delayed_work retrans_timer;
513 struct delayed_work monitor_timer; 515 struct delayed_work monitor_timer;