Bluetooth: Move handling of HCI_RUNNING flag into core
Setting and clearing of HCI_RUNNING flag in each and every driver is just duplicating the same code all over the place. So instead of having the driver do it in their hdev->open and hdev->close callbacks, set it globally in the core transport handling. 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
73d0d3c867
commit
e9ca8bf157
@@ -223,7 +223,6 @@ static void btuart_receive(struct btuart_info *info)
|
||||
/* Unknown packet */
|
||||
BT_ERR("Unknown HCI packet with type 0x%02x received", bt_cb(info->rx_skb)->pkt_type);
|
||||
info->hdev->stat.err_rx++;
|
||||
clear_bit(HCI_RUNNING, &(info->hdev->flags));
|
||||
|
||||
kfree_skb(info->rx_skb);
|
||||
info->rx_skb = NULL;
|
||||
@@ -409,17 +408,12 @@ static int btuart_hci_flush(struct hci_dev *hdev)
|
||||
|
||||
static int btuart_hci_open(struct hci_dev *hdev)
|
||||
{
|
||||
set_bit(HCI_RUNNING, &(hdev->flags));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int btuart_hci_close(struct hci_dev *hdev)
|
||||
{
|
||||
if (!test_and_clear_bit(HCI_RUNNING, &(hdev->flags)))
|
||||
return 0;
|
||||
|
||||
btuart_hci_flush(hdev);
|
||||
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user