hci_send_cmd(hdev, HCI_OP_WRITE_VOICE_SETTING, sizeof(cp1), &cp1);
hdev->voice_setting = cpu_to_le16(0x0060);
+ if (hdev->manufacturer != 0x000F)
+ return;
+
cp2.role = 0x00; /* WbDisable */
cp2.pkt_type = cpu_to_le16(0x0002);
hci_send_cmd(hdev, HCI_BCM_ENABLE_WBS_REQ, sizeof(cp2), &cp2);
hci_send_cmd(hdev, HCI_OP_WRITE_VOICE_SETTING, sizeof(cp1), &cp1);
hdev->voice_setting = cpu_to_le16(0x0003 | 0x0060);
+ if (hdev->manufacturer != 0x000F)
+ return;
+
cp2.role = 0x01; /* Enable */
cp2.pkt_type = cpu_to_le16(0x0002);
hci_send_cmd(hdev, HCI_BCM_ENABLE_WBS_REQ, sizeof(cp2), &cp2);
hci_send_cmd(hdev, HCI_OP_WRITE_VOICE_SETTING, sizeof(cp1), &cp1);
hdev->voice_setting = cpu_to_le16(0x0060);
+ if (hdev->manufacturer != 0x000F)
+ return;
+
cp2.role = 0x00; /* WbDisable */
cp2.pkt_type = cpu_to_le16(0x0002);
hci_send_cmd(hdev, HCI_BCM_ENABLE_WBS_REQ, sizeof(cp2), &cp2);
hci_send_cmd(hdev, HCI_OP_WRITE_VOICE_SETTING, sizeof(cp1), &cp1);
hdev->voice_setting = cpu_to_le16(0x0003 | 0x0060);
+ if (hdev->manufacturer != 0x000F)
+ return;
+
cp2.role = 0x01; /* Enable */
cp2.pkt_type = cpu_to_le16(0x0002);
hci_send_cmd(hdev, HCI_BCM_ENABLE_WBS_REQ, sizeof(cp2), &cp2);
read_unlock(&sco_sk_list.lock);
#ifdef TIZEN_BT
+ if (hdev->manufacturer != 0x000F)
+ return lm;
+
/* WBC/NBC feature */
if ((lm & HCI_LM_ACCEPT) && !hci_conn_hash_lookup_sco(hdev)) {
struct hci_conn *hcon_acl;
#ifdef TIZEN_BT
/* Link policy */
- hci_write_acl_link_policy(hcon, HCI_LP_RSWITCH);
+ if (hcon->hdev->manufacturer == 0x000F)
+ hci_write_acl_link_policy(hcon, HCI_LP_RSWITCH);
#endif
} else
sco_conn_del(hcon, bt_to_errno(status));
#ifdef TIZEN_BT
/* Link policy */
- hci_write_acl_link_policy(hcon, HCI_LP_SNIFF | HCI_LP_RSWITCH);
+ if (hcon->hdev->manufacturer == 0x000F)
+ hci_write_acl_link_policy(hcon, HCI_LP_SNIFF | HCI_LP_RSWITCH);
#endif
sco_conn_del(hcon, bt_to_errno(reason));