diff options
Diffstat (limited to 'net/bluetooth/amp.c')
-rw-r--r-- | net/bluetooth/amp.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/net/bluetooth/amp.c b/net/bluetooth/amp.c index 917e034b9aa5..650bb8df04fd 100644 --- a/net/bluetooth/amp.c +++ b/net/bluetooth/amp.c | |||
@@ -373,6 +373,30 @@ void amp_accept_phylink(struct hci_dev *hdev, struct amp_mgr *mgr, | |||
373 | hci_send_cmd(hdev, HCI_OP_ACCEPT_PHY_LINK, sizeof(cp), &cp); | 373 | hci_send_cmd(hdev, HCI_OP_ACCEPT_PHY_LINK, sizeof(cp), &cp); |
374 | } | 374 | } |
375 | 375 | ||
376 | void amp_physical_cfm(struct hci_conn *bredr_hcon, struct hci_conn *hs_hcon) | ||
377 | { | ||
378 | struct hci_dev *bredr_hdev = hci_dev_hold(bredr_hcon->hdev); | ||
379 | struct amp_mgr *mgr = hs_hcon->amp_mgr; | ||
380 | struct l2cap_chan *bredr_chan; | ||
381 | |||
382 | BT_DBG("bredr_hcon %p hs_hcon %p mgr %p", bredr_hcon, hs_hcon, mgr); | ||
383 | |||
384 | if (!bredr_hdev || !mgr || !mgr->bredr_chan) | ||
385 | return; | ||
386 | |||
387 | bredr_chan = mgr->bredr_chan; | ||
388 | |||
389 | set_bit(FLAG_EFS_ENABLE, &bredr_chan->flags); | ||
390 | bredr_chan->ctrl_id = hs_hcon->remote_id; | ||
391 | bredr_chan->hs_hcon = hs_hcon; | ||
392 | bredr_chan->conn->mtu = hs_hcon->hdev->block_mtu; | ||
393 | bredr_chan->fcs = L2CAP_FCS_NONE; | ||
394 | |||
395 | l2cap_physical_cfm(bredr_chan, 0); | ||
396 | |||
397 | hci_dev_put(bredr_hdev); | ||
398 | } | ||
399 | |||
376 | void amp_create_logical_link(struct l2cap_chan *chan) | 400 | void amp_create_logical_link(struct l2cap_chan *chan) |
377 | { | 401 | { |
378 | struct hci_cp_create_accept_logical_link cp; | 402 | struct hci_cp_create_accept_logical_link cp; |