Bluetooth: Introduce hci_dev_test_flag helper macro
Instead of manually coding test_bit on hdev->dev_flags all the time, use hci_dev_test_flag helper macro. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
committed by
Johan Hedberg
parent
cc91cb042c
commit
d7a5a11d7f
@ -617,7 +617,7 @@ static void hci_init2_req(struct hci_request *req, unsigned long opt)
|
||||
*/
|
||||
hdev->max_page = 0x01;
|
||||
|
||||
if (test_bit(HCI_SSP_ENABLED, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_SSP_ENABLED)) {
|
||||
u8 mode = 0x01;
|
||||
|
||||
hci_req_add(req, HCI_OP_WRITE_SSP_MODE,
|
||||
@ -656,7 +656,7 @@ static void hci_init2_req(struct hci_request *req, unsigned long opt)
|
||||
sizeof(cp), &cp);
|
||||
}
|
||||
|
||||
if (test_bit(HCI_LINK_SECURITY, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_LINK_SECURITY)) {
|
||||
u8 enable = 1;
|
||||
hci_req_add(req, HCI_OP_WRITE_AUTH_ENABLE, sizeof(enable),
|
||||
&enable);
|
||||
@ -693,7 +693,7 @@ static void hci_set_le_support(struct hci_request *req)
|
||||
|
||||
memset(&cp, 0, sizeof(cp));
|
||||
|
||||
if (test_bit(HCI_LE_ENABLED, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_LE_ENABLED)) {
|
||||
cp.le = 0x01;
|
||||
cp.simul = 0x00;
|
||||
}
|
||||
@ -881,7 +881,7 @@ static void hci_init4_req(struct hci_request *req, unsigned long opt)
|
||||
hci_req_add(req, HCI_OP_READ_SYNC_TRAIN_PARAMS, 0, NULL);
|
||||
|
||||
/* Enable Secure Connections if supported and configured */
|
||||
if (test_bit(HCI_SSP_ENABLED, &hdev->dev_flags) &&
|
||||
if (hci_dev_test_flag(hdev, HCI_SSP_ENABLED) &&
|
||||
bredr_sc_enabled(hdev)) {
|
||||
u8 support = 0x01;
|
||||
|
||||
@ -901,7 +901,7 @@ static int __hci_init(struct hci_dev *hdev)
|
||||
/* The Device Under Test (DUT) mode is special and available for
|
||||
* all controller types. So just create it early on.
|
||||
*/
|
||||
if (test_bit(HCI_SETUP, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_SETUP)) {
|
||||
debugfs_create_file("dut_mode", 0644, hdev->debugfs, hdev,
|
||||
&dut_mode_fops);
|
||||
}
|
||||
@ -937,8 +937,8 @@ static int __hci_init(struct hci_dev *hdev)
|
||||
* So only when in setup phase or config phase, create the debugfs
|
||||
* entries and register the SMP channels.
|
||||
*/
|
||||
if (!test_bit(HCI_SETUP, &hdev->dev_flags) &&
|
||||
!test_bit(HCI_CONFIG, &hdev->dev_flags))
|
||||
if (!hci_dev_test_flag(hdev, HCI_SETUP) &&
|
||||
!hci_dev_test_flag(hdev, HCI_CONFIG))
|
||||
return 0;
|
||||
|
||||
hci_debugfs_create_common(hdev);
|
||||
@ -1300,12 +1300,12 @@ int hci_inquiry(void __user *arg)
|
||||
if (!hdev)
|
||||
return -ENODEV;
|
||||
|
||||
if (test_bit(HCI_USER_CHANNEL, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_USER_CHANNEL)) {
|
||||
err = -EBUSY;
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (test_bit(HCI_UNCONFIGURED, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_UNCONFIGURED)) {
|
||||
err = -EOPNOTSUPP;
|
||||
goto done;
|
||||
}
|
||||
@ -1315,7 +1315,7 @@ int hci_inquiry(void __user *arg)
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (!test_bit(HCI_BREDR_ENABLED, &hdev->dev_flags)) {
|
||||
if (!hci_dev_test_flag(hdev, HCI_BREDR_ENABLED)) {
|
||||
err = -EOPNOTSUPP;
|
||||
goto done;
|
||||
}
|
||||
@ -1387,17 +1387,17 @@ static int hci_dev_do_open(struct hci_dev *hdev)
|
||||
|
||||
hci_req_lock(hdev);
|
||||
|
||||
if (test_bit(HCI_UNREGISTER, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_UNREGISTER)) {
|
||||
ret = -ENODEV;
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (!test_bit(HCI_SETUP, &hdev->dev_flags) &&
|
||||
!test_bit(HCI_CONFIG, &hdev->dev_flags)) {
|
||||
if (!hci_dev_test_flag(hdev, HCI_SETUP) &&
|
||||
!hci_dev_test_flag(hdev, HCI_CONFIG)) {
|
||||
/* Check for rfkill but allow the HCI setup stage to
|
||||
* proceed (which in itself doesn't cause any RF activity).
|
||||
*/
|
||||
if (test_bit(HCI_RFKILLED, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_RFKILLED)) {
|
||||
ret = -ERFKILL;
|
||||
goto done;
|
||||
}
|
||||
@ -1414,7 +1414,7 @@ static int hci_dev_do_open(struct hci_dev *hdev)
|
||||
* This check is only valid for BR/EDR controllers
|
||||
* since AMP controllers do not have an address.
|
||||
*/
|
||||
if (!test_bit(HCI_USER_CHANNEL, &hdev->dev_flags) &&
|
||||
if (!hci_dev_test_flag(hdev, HCI_USER_CHANNEL) &&
|
||||
hdev->dev_type == HCI_BREDR &&
|
||||
!bacmp(&hdev->bdaddr, BDADDR_ANY) &&
|
||||
!bacmp(&hdev->static_addr, BDADDR_ANY)) {
|
||||
@ -1436,7 +1436,7 @@ static int hci_dev_do_open(struct hci_dev *hdev)
|
||||
atomic_set(&hdev->cmd_cnt, 1);
|
||||
set_bit(HCI_INIT, &hdev->flags);
|
||||
|
||||
if (test_bit(HCI_SETUP, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_SETUP)) {
|
||||
if (hdev->setup)
|
||||
ret = hdev->setup(hdev);
|
||||
|
||||
@ -1458,11 +1458,11 @@ static int hci_dev_do_open(struct hci_dev *hdev)
|
||||
* also the original Bluetooth public device address
|
||||
* will be read using the Read BD Address command.
|
||||
*/
|
||||
if (test_bit(HCI_UNCONFIGURED, &hdev->dev_flags))
|
||||
if (hci_dev_test_flag(hdev, HCI_UNCONFIGURED))
|
||||
ret = __hci_unconf_init(hdev);
|
||||
}
|
||||
|
||||
if (test_bit(HCI_CONFIG, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_CONFIG)) {
|
||||
/* If public address change is configured, ensure that
|
||||
* the address gets programmed. If the driver does not
|
||||
* support changing the public address, fail the power
|
||||
@ -1476,8 +1476,8 @@ static int hci_dev_do_open(struct hci_dev *hdev)
|
||||
}
|
||||
|
||||
if (!ret) {
|
||||
if (!test_bit(HCI_UNCONFIGURED, &hdev->dev_flags) &&
|
||||
!test_bit(HCI_USER_CHANNEL, &hdev->dev_flags))
|
||||
if (!hci_dev_test_flag(hdev, HCI_UNCONFIGURED) &&
|
||||
!hci_dev_test_flag(hdev, HCI_USER_CHANNEL))
|
||||
ret = __hci_init(hdev);
|
||||
}
|
||||
|
||||
@ -1488,10 +1488,10 @@ static int hci_dev_do_open(struct hci_dev *hdev)
|
||||
set_bit(HCI_RPA_EXPIRED, &hdev->dev_flags);
|
||||
set_bit(HCI_UP, &hdev->flags);
|
||||
hci_notify(hdev, HCI_DEV_UP);
|
||||
if (!test_bit(HCI_SETUP, &hdev->dev_flags) &&
|
||||
!test_bit(HCI_CONFIG, &hdev->dev_flags) &&
|
||||
!test_bit(HCI_UNCONFIGURED, &hdev->dev_flags) &&
|
||||
!test_bit(HCI_USER_CHANNEL, &hdev->dev_flags) &&
|
||||
if (!hci_dev_test_flag(hdev, HCI_SETUP) &&
|
||||
!hci_dev_test_flag(hdev, HCI_CONFIG) &&
|
||||
!hci_dev_test_flag(hdev, HCI_UNCONFIGURED) &&
|
||||
!hci_dev_test_flag(hdev, HCI_USER_CHANNEL) &&
|
||||
hdev->dev_type == HCI_BREDR) {
|
||||
hci_dev_lock(hdev);
|
||||
mgmt_powered(hdev, 1);
|
||||
@ -1543,8 +1543,8 @@ int hci_dev_open(__u16 dev)
|
||||
* HCI_USER_CHANNEL will be set first before attempting to
|
||||
* open the device.
|
||||
*/
|
||||
if (test_bit(HCI_UNCONFIGURED, &hdev->dev_flags) &&
|
||||
!test_bit(HCI_USER_CHANNEL, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_UNCONFIGURED) &&
|
||||
!hci_dev_test_flag(hdev, HCI_USER_CHANNEL)) {
|
||||
err = -EOPNOTSUPP;
|
||||
goto done;
|
||||
}
|
||||
@ -1569,8 +1569,8 @@ int hci_dev_open(__u16 dev)
|
||||
* is in use this bit will be cleared again and userspace has
|
||||
* to explicitly enable it.
|
||||
*/
|
||||
if (!test_bit(HCI_USER_CHANNEL, &hdev->dev_flags) &&
|
||||
!test_bit(HCI_MGMT, &hdev->dev_flags))
|
||||
if (!hci_dev_test_flag(hdev, HCI_USER_CHANNEL) &&
|
||||
!hci_dev_test_flag(hdev, HCI_MGMT))
|
||||
set_bit(HCI_BONDABLE, &hdev->dev_flags);
|
||||
|
||||
err = hci_dev_do_open(hdev);
|
||||
@ -1601,7 +1601,7 @@ static int hci_dev_do_close(struct hci_dev *hdev)
|
||||
{
|
||||
BT_DBG("%s %p", hdev->name, hdev);
|
||||
|
||||
if (!test_bit(HCI_UNREGISTER, &hdev->dev_flags)) {
|
||||
if (!hci_dev_test_flag(hdev, HCI_UNREGISTER)) {
|
||||
/* Execute vendor specific shutdown routine */
|
||||
if (hdev->shutdown)
|
||||
hdev->shutdown(hdev);
|
||||
@ -1635,7 +1635,7 @@ static int hci_dev_do_close(struct hci_dev *hdev)
|
||||
cancel_delayed_work_sync(&hdev->le_scan_disable);
|
||||
cancel_delayed_work_sync(&hdev->le_scan_restart);
|
||||
|
||||
if (test_bit(HCI_MGMT, &hdev->dev_flags))
|
||||
if (hci_dev_test_flag(hdev, HCI_MGMT))
|
||||
cancel_delayed_work_sync(&hdev->rpa_expired);
|
||||
|
||||
/* Avoid potential lockdep warnings from the *_flush() calls by
|
||||
@ -1667,8 +1667,8 @@ static int hci_dev_do_close(struct hci_dev *hdev)
|
||||
/* Reset device */
|
||||
skb_queue_purge(&hdev->cmd_q);
|
||||
atomic_set(&hdev->cmd_cnt, 1);
|
||||
if (!test_bit(HCI_AUTO_OFF, &hdev->dev_flags) &&
|
||||
!test_bit(HCI_UNCONFIGURED, &hdev->dev_flags) &&
|
||||
if (!hci_dev_test_flag(hdev, HCI_AUTO_OFF) &&
|
||||
!hci_dev_test_flag(hdev, HCI_UNCONFIGURED) &&
|
||||
test_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks)) {
|
||||
set_bit(HCI_INIT, &hdev->flags);
|
||||
__hci_req_sync(hdev, hci_reset_req, 0, HCI_CMD_TIMEOUT);
|
||||
@ -1723,7 +1723,7 @@ int hci_dev_close(__u16 dev)
|
||||
if (!hdev)
|
||||
return -ENODEV;
|
||||
|
||||
if (test_bit(HCI_USER_CHANNEL, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_USER_CHANNEL)) {
|
||||
err = -EBUSY;
|
||||
goto done;
|
||||
}
|
||||
@ -1786,12 +1786,12 @@ int hci_dev_reset(__u16 dev)
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (test_bit(HCI_USER_CHANNEL, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_USER_CHANNEL)) {
|
||||
err = -EBUSY;
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (test_bit(HCI_UNCONFIGURED, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_UNCONFIGURED)) {
|
||||
err = -EOPNOTSUPP;
|
||||
goto done;
|
||||
}
|
||||
@ -1812,12 +1812,12 @@ int hci_dev_reset_stat(__u16 dev)
|
||||
if (!hdev)
|
||||
return -ENODEV;
|
||||
|
||||
if (test_bit(HCI_USER_CHANNEL, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_USER_CHANNEL)) {
|
||||
ret = -EBUSY;
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (test_bit(HCI_UNCONFIGURED, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_UNCONFIGURED)) {
|
||||
ret = -EOPNOTSUPP;
|
||||
goto done;
|
||||
}
|
||||
@ -1851,14 +1851,14 @@ static void hci_update_scan_state(struct hci_dev *hdev, u8 scan)
|
||||
&hdev->dev_flags);
|
||||
}
|
||||
|
||||
if (!test_bit(HCI_MGMT, &hdev->dev_flags))
|
||||
if (!hci_dev_test_flag(hdev, HCI_MGMT))
|
||||
return;
|
||||
|
||||
if (conn_changed || discov_changed) {
|
||||
/* In case this was disabled through mgmt */
|
||||
set_bit(HCI_BREDR_ENABLED, &hdev->dev_flags);
|
||||
|
||||
if (test_bit(HCI_LE_ENABLED, &hdev->dev_flags))
|
||||
if (hci_dev_test_flag(hdev, HCI_LE_ENABLED))
|
||||
mgmt_update_adv_data(hdev);
|
||||
|
||||
mgmt_new_settings(hdev);
|
||||
@ -1878,12 +1878,12 @@ int hci_dev_cmd(unsigned int cmd, void __user *arg)
|
||||
if (!hdev)
|
||||
return -ENODEV;
|
||||
|
||||
if (test_bit(HCI_USER_CHANNEL, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_USER_CHANNEL)) {
|
||||
err = -EBUSY;
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (test_bit(HCI_UNCONFIGURED, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_UNCONFIGURED)) {
|
||||
err = -EOPNOTSUPP;
|
||||
goto done;
|
||||
}
|
||||
@ -1893,7 +1893,7 @@ int hci_dev_cmd(unsigned int cmd, void __user *arg)
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (!test_bit(HCI_BREDR_ENABLED, &hdev->dev_flags)) {
|
||||
if (!hci_dev_test_flag(hdev, HCI_BREDR_ENABLED)) {
|
||||
err = -EOPNOTSUPP;
|
||||
goto done;
|
||||
}
|
||||
@ -1997,7 +1997,7 @@ int hci_get_dev_list(void __user *arg)
|
||||
* is running, but in that case still indicate that the
|
||||
* device is actually down.
|
||||
*/
|
||||
if (test_bit(HCI_AUTO_OFF, &hdev->dev_flags))
|
||||
if (hci_dev_test_flag(hdev, HCI_AUTO_OFF))
|
||||
flags &= ~BIT(HCI_UP);
|
||||
|
||||
(dr + n)->dev_id = hdev->id;
|
||||
@ -2035,7 +2035,7 @@ int hci_get_dev_info(void __user *arg)
|
||||
* is running, but in that case still indicate that the
|
||||
* device is actually down.
|
||||
*/
|
||||
if (test_bit(HCI_AUTO_OFF, &hdev->dev_flags))
|
||||
if (hci_dev_test_flag(hdev, HCI_AUTO_OFF))
|
||||
flags = hdev->flags & ~BIT(HCI_UP);
|
||||
else
|
||||
flags = hdev->flags;
|
||||
@ -2078,13 +2078,13 @@ static int hci_rfkill_set_block(void *data, bool blocked)
|
||||
|
||||
BT_DBG("%p name %s blocked %d", hdev, hdev->name, blocked);
|
||||
|
||||
if (test_bit(HCI_USER_CHANNEL, &hdev->dev_flags))
|
||||
if (hci_dev_test_flag(hdev, HCI_USER_CHANNEL))
|
||||
return -EBUSY;
|
||||
|
||||
if (blocked) {
|
||||
set_bit(HCI_RFKILLED, &hdev->dev_flags);
|
||||
if (!test_bit(HCI_SETUP, &hdev->dev_flags) &&
|
||||
!test_bit(HCI_CONFIG, &hdev->dev_flags))
|
||||
if (!hci_dev_test_flag(hdev, HCI_SETUP) &&
|
||||
!hci_dev_test_flag(hdev, HCI_CONFIG))
|
||||
hci_dev_do_close(hdev);
|
||||
} else {
|
||||
clear_bit(HCI_RFKILLED, &hdev->dev_flags);
|
||||
@ -2116,14 +2116,14 @@ static void hci_power_on(struct work_struct *work)
|
||||
* ignored and they need to be checked now. If they are still
|
||||
* valid, it is important to turn the device back off.
|
||||
*/
|
||||
if (test_bit(HCI_RFKILLED, &hdev->dev_flags) ||
|
||||
test_bit(HCI_UNCONFIGURED, &hdev->dev_flags) ||
|
||||
if (hci_dev_test_flag(hdev, HCI_RFKILLED) ||
|
||||
hci_dev_test_flag(hdev, HCI_UNCONFIGURED) ||
|
||||
(hdev->dev_type == HCI_BREDR &&
|
||||
!bacmp(&hdev->bdaddr, BDADDR_ANY) &&
|
||||
!bacmp(&hdev->static_addr, BDADDR_ANY))) {
|
||||
clear_bit(HCI_AUTO_OFF, &hdev->dev_flags);
|
||||
hci_dev_do_close(hdev);
|
||||
} else if (test_bit(HCI_AUTO_OFF, &hdev->dev_flags)) {
|
||||
} else if (hci_dev_test_flag(hdev, HCI_AUTO_OFF)) {
|
||||
queue_delayed_work(hdev->req_workqueue, &hdev->power_off,
|
||||
HCI_AUTO_OFF_TIMEOUT);
|
||||
}
|
||||
@ -2132,7 +2132,7 @@ static void hci_power_on(struct work_struct *work)
|
||||
/* For unconfigured devices, set the HCI_RAW flag
|
||||
* so that userspace can easily identify them.
|
||||
*/
|
||||
if (test_bit(HCI_UNCONFIGURED, &hdev->dev_flags))
|
||||
if (hci_dev_test_flag(hdev, HCI_UNCONFIGURED))
|
||||
set_bit(HCI_RAW, &hdev->flags);
|
||||
|
||||
/* For fully configured devices, this will send
|
||||
@ -2147,7 +2147,7 @@ static void hci_power_on(struct work_struct *work)
|
||||
/* When the controller is now configured, then it
|
||||
* is important to clear the HCI_RAW flag.
|
||||
*/
|
||||
if (!test_bit(HCI_UNCONFIGURED, &hdev->dev_flags))
|
||||
if (!hci_dev_test_flag(hdev, HCI_UNCONFIGURED))
|
||||
clear_bit(HCI_RAW, &hdev->flags);
|
||||
|
||||
/* Powering on the controller with HCI_CONFIG set only
|
||||
@ -2986,7 +2986,7 @@ static void le_scan_restart_work(struct work_struct *work)
|
||||
BT_DBG("%s", hdev->name);
|
||||
|
||||
/* If controller is not scanning we are done. */
|
||||
if (!test_bit(HCI_LE_SCAN, &hdev->dev_flags))
|
||||
if (!hci_dev_test_flag(hdev, HCI_LE_SCAN))
|
||||
return;
|
||||
|
||||
hci_req_init(&req, hdev);
|
||||
@ -3021,7 +3021,7 @@ void hci_copy_identity_address(struct hci_dev *hdev, bdaddr_t *bdaddr,
|
||||
{
|
||||
if (test_bit(HCI_FORCE_STATIC_ADDR, &hdev->dbg_flags) ||
|
||||
!bacmp(&hdev->bdaddr, BDADDR_ANY) ||
|
||||
(!test_bit(HCI_BREDR_ENABLED, &hdev->dev_flags) &&
|
||||
(!hci_dev_test_flag(hdev, HCI_BREDR_ENABLED) &&
|
||||
bacmp(&hdev->static_addr, BDADDR_ANY))) {
|
||||
bacpy(bdaddr, &hdev->static_addr);
|
||||
*bdaddr_type = ADDR_LE_DEV_RANDOM;
|
||||
@ -3251,8 +3251,8 @@ void hci_unregister_dev(struct hci_dev *hdev)
|
||||
cancel_work_sync(&hdev->power_on);
|
||||
|
||||
if (!test_bit(HCI_INIT, &hdev->flags) &&
|
||||
!test_bit(HCI_SETUP, &hdev->dev_flags) &&
|
||||
!test_bit(HCI_CONFIG, &hdev->dev_flags)) {
|
||||
!hci_dev_test_flag(hdev, HCI_SETUP) &&
|
||||
!hci_dev_test_flag(hdev, HCI_CONFIG)) {
|
||||
hci_dev_lock(hdev);
|
||||
mgmt_index_removed(hdev);
|
||||
hci_dev_unlock(hdev);
|
||||
@ -3926,7 +3926,7 @@ static inline int __get_blocks(struct hci_dev *hdev, struct sk_buff *skb)
|
||||
|
||||
static void __check_timeout(struct hci_dev *hdev, unsigned int cnt)
|
||||
{
|
||||
if (!test_bit(HCI_UNCONFIGURED, &hdev->dev_flags)) {
|
||||
if (!hci_dev_test_flag(hdev, HCI_UNCONFIGURED)) {
|
||||
/* ACL tx timeout must be longer than maximum
|
||||
* link supervision timeout (40.9 seconds) */
|
||||
if (!cnt && time_after(jiffies, hdev->acl_last_tx +
|
||||
@ -4109,7 +4109,7 @@ static void hci_sched_le(struct hci_dev *hdev)
|
||||
if (!hci_conn_num(hdev, LE_LINK))
|
||||
return;
|
||||
|
||||
if (!test_bit(HCI_UNCONFIGURED, &hdev->dev_flags)) {
|
||||
if (!hci_dev_test_flag(hdev, HCI_UNCONFIGURED)) {
|
||||
/* LE tx timeout must be longer than maximum
|
||||
* link supervision timeout (40.9 seconds) */
|
||||
if (!hdev->le_cnt && hdev->le_pkts &&
|
||||
@ -4157,7 +4157,7 @@ static void hci_tx_work(struct work_struct *work)
|
||||
BT_DBG("%s acl %d sco %d le %d", hdev->name, hdev->acl_cnt,
|
||||
hdev->sco_cnt, hdev->le_cnt);
|
||||
|
||||
if (!test_bit(HCI_USER_CHANNEL, &hdev->dev_flags)) {
|
||||
if (!hci_dev_test_flag(hdev, HCI_USER_CHANNEL)) {
|
||||
/* Schedule queues and send stuff to HCI driver */
|
||||
hci_sched_acl(hdev);
|
||||
hci_sched_sco(hdev);
|
||||
@ -4354,7 +4354,7 @@ static void hci_rx_work(struct work_struct *work)
|
||||
hci_send_to_sock(hdev, skb);
|
||||
}
|
||||
|
||||
if (test_bit(HCI_USER_CHANNEL, &hdev->dev_flags)) {
|
||||
if (hci_dev_test_flag(hdev, HCI_USER_CHANNEL)) {
|
||||
kfree_skb(skb);
|
||||
continue;
|
||||
}
|
||||
|
Reference in New Issue
Block a user