|
@@ -774,7 +774,7 @@ static int btusb_send_frame(struct sk_buff *skb)
|
|
|
break;
|
|
|
|
|
|
case HCI_SCODATA_PKT:
|
|
|
- if (!data->isoc_tx_ep || hdev->conn_hash.sco_num < 1)
|
|
|
+ if (!data->isoc_tx_ep || hci_conn_num(hdev, SCO_LINK) < 1)
|
|
|
return -ENODEV;
|
|
|
|
|
|
urb = usb_alloc_urb(BTUSB_MAX_ISOC_FRAMES, GFP_ATOMIC);
|
|
@@ -833,8 +833,8 @@ static void btusb_notify(struct hci_dev *hdev, unsigned int evt)
|
|
|
|
|
|
BT_DBG("%s evt %d", hdev->name, evt);
|
|
|
|
|
|
- if (hdev->conn_hash.sco_num != data->sco_num) {
|
|
|
- data->sco_num = hdev->conn_hash.sco_num;
|
|
|
+ if (hci_conn_num(hdev, SCO_LINK) != data->sco_num) {
|
|
|
+ data->sco_num = hci_conn_num(hdev, SCO_LINK);
|
|
|
schedule_work(&data->work);
|
|
|
}
|
|
|
}
|
|
@@ -889,7 +889,7 @@ static void btusb_work(struct work_struct *work)
|
|
|
int new_alts;
|
|
|
int err;
|
|
|
|
|
|
- if (hdev->conn_hash.sco_num > 0) {
|
|
|
+ if (data->sco_num > 0) {
|
|
|
if (!test_bit(BTUSB_DID_ISO_RESUME, &data->flags)) {
|
|
|
err = usb_autopm_get_interface(data->isoc ? data->isoc : data->intf);
|
|
|
if (err < 0) {
|
|
@@ -903,9 +903,9 @@ static void btusb_work(struct work_struct *work)
|
|
|
|
|
|
if (hdev->voice_setting & 0x0020) {
|
|
|
static const int alts[3] = { 2, 4, 5 };
|
|
|
- new_alts = alts[hdev->conn_hash.sco_num - 1];
|
|
|
+ new_alts = alts[data->sco_num - 1];
|
|
|
} else {
|
|
|
- new_alts = hdev->conn_hash.sco_num;
|
|
|
+ new_alts = data->sco_num;
|
|
|
}
|
|
|
|
|
|
if (data->isoc_altsetting != new_alts) {
|