diff options
author | Andrei Emeltchenko <andrei.emeltchenko@intel.com> | 2012-09-27 10:26:19 -0400 |
---|---|---|
committer | Gustavo Padovan <gustavo.padovan@collabora.co.uk> | 2012-09-27 16:30:40 -0400 |
commit | a02226d6ff5098e6b97590cc55aabe7faf0860ed (patch) | |
tree | 5ec09ebf86af46cdf37ecca872f2cfd12004edb7 /net/bluetooth/amp.c | |
parent | 5a349186692950b13896abc3fb2f491d023f95a1 (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.c | 19 |
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 | |||
236 | void 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 | } | ||