Skip to content

Commit

Permalink
Bluetooth: AMP: Clean up logical link create / accept
Browse files Browse the repository at this point in the history
Use chan->hs_hcon instead of lookup by dst address.

Signed-off-by: Andrei Emeltchenko <[email protected]>
Signed-off-by: Gustavo Padovan <[email protected]>
  • Loading branch information
finikorg authored and Gustavo Padovan committed Jan 9, 2013
1 parent 8e05e3b commit 7a9898c
Showing 1 changed file with 5 additions and 12 deletions.
17 changes: 5 additions & 12 deletions net/bluetooth/amp.c
Original file line number Diff line number Diff line change
Expand Up @@ -405,26 +405,20 @@ void amp_physical_cfm(struct hci_conn *bredr_hcon, struct hci_conn *hs_hcon)

void amp_create_logical_link(struct l2cap_chan *chan)
{
struct hci_conn *hs_hcon = chan->hs_hcon;
struct hci_cp_create_accept_logical_link cp;
struct hci_conn *hcon;
struct hci_dev *hdev;

BT_DBG("chan %p", chan);
BT_DBG("chan %p hs_hcon %p dst %pMR", chan, hs_hcon, chan->conn->dst);

if (!chan->hs_hcon)
if (!hs_hcon)
return;

hdev = hci_dev_hold(chan->hs_hcon->hdev);
if (!hdev)
return;

BT_DBG("chan %p dst %pMR", chan, chan->conn->dst);

hcon = hci_conn_hash_lookup_ba(hdev, AMP_LINK, chan->conn->dst);
if (!hcon)
goto done;

cp.phy_handle = hcon->handle;
cp.phy_handle = hs_hcon->handle;

cp.tx_flow_spec.id = chan->local_id;
cp.tx_flow_spec.stype = chan->local_stype;
Expand All @@ -440,14 +434,13 @@ void amp_create_logical_link(struct l2cap_chan *chan)
cp.rx_flow_spec.acc_lat = cpu_to_le32(chan->remote_acc_lat);
cp.rx_flow_spec.flush_to = cpu_to_le32(chan->remote_flush_to);

if (hcon->out)
if (hs_hcon->out)
hci_send_cmd(hdev, HCI_OP_CREATE_LOGICAL_LINK, sizeof(cp),
&cp);
else
hci_send_cmd(hdev, HCI_OP_ACCEPT_LOGICAL_LINK, sizeof(cp),
&cp);

done:
hci_dev_put(hdev);
}

Expand Down

0 comments on commit 7a9898c

Please sign in to comment.