aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth/amp.c
diff options
context:
space:
mode:
authorAndrei Emeltchenko <andrei.emeltchenko@intel.com>2012-09-27 10:26:19 -0400
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>2012-09-27 16:30:40 -0400
commita02226d6ff5098e6b97590cc55aabe7faf0860ed (patch)
tree5ec09ebf86af46cdf37ecca872f2cfd12004edb7 /net/bluetooth/amp.c
parent5a349186692950b13896abc3fb2f491d023f95a1 (diff)
Bluetooth: AMP: Create Physical Link
When receiving A2MP Get AMP Assoc Response execute HCI Create Physical Link to AMP controller. Define function which will run when receiving HCI Command Status. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Diffstat (limited to 'net/bluetooth/amp.c')
-rw-r--r--net/bluetooth/amp.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/net/bluetooth/amp.c b/net/bluetooth/amp.c
index 67bc2c2f8783..657ec736bbc6 100644
--- a/net/bluetooth/amp.c
+++ b/net/bluetooth/amp.c
@@ -232,3 +232,22 @@ void amp_read_loc_assoc(struct hci_dev *hdev, struct amp_mgr *mgr)
232 mgr->state = READ_LOC_AMP_ASSOC; 232 mgr->state = READ_LOC_AMP_ASSOC;
233 hci_send_cmd(hdev, HCI_OP_READ_LOCAL_AMP_ASSOC, sizeof(cp), &cp); 233 hci_send_cmd(hdev, HCI_OP_READ_LOCAL_AMP_ASSOC, sizeof(cp), &cp);
234} 234}
235
236void amp_create_phylink(struct hci_dev *hdev, struct amp_mgr *mgr,
237 struct hci_conn *hcon)
238{
239 struct hci_cp_create_phy_link cp;
240
241 cp.phy_handle = hcon->handle;
242
243 BT_DBG("%s hcon %p phy handle 0x%2.2x", hdev->name, hcon,
244 hcon->handle);
245
246 if (phylink_gen_key(mgr->l2cap_conn->hcon, cp.key, &cp.key_len,
247 &cp.key_type)) {
248 BT_DBG("Cannot create link key");
249 return;
250 }
251
252 hci_send_cmd(hdev, HCI_OP_CREATE_PHY_LINK, sizeof(cp), &cp);
253}