hci_test_quirk
if (hci_test_quirk(hu->hdev, HCI_QUIRK_INVALID_BDADDR))
if (!hci_test_quirk(hu->hdev, HCI_QUIRK_NON_PERSISTENT_SETUP)) {
if (hci_test_quirk(hdev, HCI_QUIRK_NON_PERSISTENT_SETUP) ||
if (hci_test_quirk(hdev, HCI_QUIRK_NON_PERSISTENT_SETUP)) {
!hci_test_quirk((dev), \
!hci_test_quirk((dev), HCI_QUIRK_BROKEN_READ_ENC_KEY_SIZE))
!hci_test_quirk((dev), HCI_QUIRK_BROKEN_READ_VOICE_SETTING))
!hci_test_quirk((dev), HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN))
!hci_test_quirk((dev), HCI_QUIRK_BROKEN_EXT_SCAN))
!hci_test_quirk((dev), HCI_QUIRK_BROKEN_EXT_CREATE_CONN))
!hci_test_quirk((dev), \
(!hci_test_quirk((dev), HCI_QUIRK_BROKEN_MWS_TRANSPORT_CONFIG)))
(!hci_test_quirk((hdev), HCI_QUIRK_BROKEN_LE_STATES) && \
if (hci_test_quirk(hdev, HCI_QUIRK_RAW_DEVICE))
!hci_test_quirk(hdev, HCI_QUIRK_NO_SUSPEND_NOTIFIER)) {
if (hci_test_quirk(hdev, HCI_QUIRK_NON_PERSISTENT_DIAG) &&
!hci_test_quirk(hdev, HCI_QUIRK_SIMULTANEOUS_DISCOVERY))
!hci_test_quirk(hdev, HCI_QUIRK_SIMULTANEOUS_DISCOVERY))
if (hci_test_quirk(hdev, HCI_QUIRK_BROKEN_WRITE_AUTH_PAYLOAD_TIMEOUT))
(hci_test_quirk(hdev, HCI_QUIRK_BROKEN_LE_STATES) ||
if (hci_test_quirk(hdev,
if (hci_test_quirk(hdev,
if (hci_test_quirk(hdev, HCI_QUIRK_FIXUP_BUFFER_SIZE)) {
if (hci_test_quirk(hdev, HCI_QUIRK_BDADDR_PROPERTY_BROKEN))
if (!hci_test_quirk(hdev, HCI_QUIRK_RESET_ON_CLOSE)) {
if (hci_test_quirk(hdev, HCI_QUIRK_RAW_DEVICE))
!hci_test_quirk(hdev, HCI_QUIRK_BROKEN_LOCAL_COMMANDS))
if (!hci_test_quirk(hdev, HCI_QUIRK_RESET_ON_CLOSE)) {
if (hci_test_quirk(hdev, HCI_QUIRK_BROKEN_FILTER_CLEAR_ALL))
if (hci_test_quirk(hdev, HCI_QUIRK_BROKEN_FILTER_CLEAR_ALL))
!hci_test_quirk(hdev, HCI_QUIRK_SYNC_FLOWCTL_SUPPORTED))
!hci_test_quirk(hdev, HCI_QUIRK_FIXUP_INQUIRY_MODE))
if (hci_test_quirk(hdev, HCI_QUIRK_SIMULTANEOUS_DISCOVERY)) {
hci_test_quirk(hdev, HCI_QUIRK_FIXUP_INQUIRY_MODE))
hci_test_quirk(hdev, HCI_QUIRK_BROKEN_STORED_LINK_KEY))
hci_test_quirk(hdev, HCI_QUIRK_BROKEN_ERR_DATA_REPORTING))
hci_test_quirk(hdev, HCI_QUIRK_BROKEN_READ_PAGE_SCAN_TYPE))
hci_test_quirk(hdev, HCI_QUIRK_BROKEN_READ_TRANSMIT_POWER))
hci_test_quirk(hdev, HCI_QUIRK_BROKEN_SET_RPA_TIMEOUT))
hci_test_quirk(hdev, HCI_QUIRK_BROKEN_STORED_LINK_KEY))
hci_test_quirk(hdev, HCI_QUIRK_BROKEN_ERR_DATA_REPORTING))
!hci_test_quirk(hdev, HCI_QUIRK_NON_PERSISTENT_SETUP))
if (hci_test_quirk(hdev, hci_broken_table[i].quirk))
invalid_bdaddr = hci_test_quirk(hdev, HCI_QUIRK_INVALID_BDADDR) ||
hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY);
if (hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY) &&
if (hci_test_quirk(hdev, HCI_QUIRK_EXTERNAL_CONFIG) ||
if (hci_test_quirk(hdev, HCI_QUIRK_NON_PERSISTENT_DIAG) &&
if (hci_test_quirk(hdev, HCI_QUIRK_RESET_ON_CLOSE) &&
(hci_test_quirk(hdev, HCI_QUIRK_STRICT_DUPLICATE_FILTER) &&
if (hci_test_quirk(hdev, HCI_QUIRK_SIMULTANEOUS_DISCOVERY)) {
if (hci_test_quirk(hdev, HCI_QUIRK_BROKEN_FILTER_CLEAR_ALL))
!hci_test_quirk(hdev, HCI_QUIRK_STRICT_DUPLICATE_FILTER))))
if (hci_test_quirk(hdev, HCI_QUIRK_STRICT_DUPLICATE_FILTER)) {
if (!hci_test_quirk(hdev, HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED))
if (hci_test_quirk(d, HCI_QUIRK_RAW_DEVICE))
if (hci_test_quirk(d, HCI_QUIRK_RAW_DEVICE))
if (hci_test_quirk(d, HCI_QUIRK_RAW_DEVICE))
if (hci_test_quirk(hdev, HCI_QUIRK_EXTERNAL_CONFIG) &&
if ((hci_test_quirk(hdev, HCI_QUIRK_INVALID_BDADDR) ||
hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY)) &&
if (hci_test_quirk(hdev, HCI_QUIRK_EXTERNAL_CONFIG) &&
if ((hci_test_quirk(hdev, HCI_QUIRK_INVALID_BDADDR) ||
hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY)) &&
if (hci_test_quirk(hdev, HCI_QUIRK_EXTERNAL_CONFIG))
if (!hci_test_quirk(hdev, HCI_QUIRK_EXTERNAL_CONFIG))
if (hci_test_quirk(hdev, HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED))
if (hci_test_quirk(hdev, HCI_QUIRK_EXTERNAL_CONFIG) || hdev->set_bdaddr)
if (hci_test_quirk(hdev, HCI_QUIRK_RAW_DEVICE))
if (hci_test_quirk(hdev, HCI_QUIRK_RAW_DEVICE))
if (!hci_test_quirk(hdev, HCI_QUIRK_USE_MSFT_EXT_ADDRESS_FILTER)) {