diff options
author | John W. Linville <linville@tuxdriver.com> | 2011-09-20 22:11:55 +0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-09-20 22:11:55 +0400 |
commit | 4d8b61490c14a36efdee4a8bf523e26809df05ac (patch) | |
tree | e8a37cac291bb64fa3d85ac27df45f56d493f2cb /net/bluetooth/hci_core.c | |
parent | c9df56b48e4ff003eaebd680ec7a45342dcd03ea (diff) | |
parent | 8c23516fbb209ccf8f8c36268311c721faff29ee (diff) | |
download | linux-4d8b61490c14a36efdee4a8bf523e26809df05ac.tar.xz |
Merge branch 'master' of git://git.infradead.org/users/linville/wireless
Conflicts:
drivers/net/wireless/iwlwifi/iwl-pci.c
drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c
drivers/net/wireless/rt2x00/rt2800usb.c
drivers/net/wireless/wl12xx/main.c
Diffstat (limited to 'net/bluetooth/hci_core.c')
-rw-r--r-- | net/bluetooth/hci_core.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index ec0bc3f60f2e..56943add45cc 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c @@ -1209,7 +1209,6 @@ static void hci_cmd_timer(unsigned long arg) BT_ERR("%s command tx timeout", hdev->name); atomic_set(&hdev->cmd_cnt, 1); - clear_bit(HCI_RESET, &hdev->flags); tasklet_schedule(&hdev->cmd_task); } @@ -1327,7 +1326,7 @@ int hci_blacklist_add(struct hci_dev *hdev, bdaddr_t *bdaddr) entry = kzalloc(sizeof(struct bdaddr_list), GFP_KERNEL); if (!entry) { - return -ENOMEM; + err = -ENOMEM; goto err; } @@ -2408,7 +2407,10 @@ static void hci_cmd_task(unsigned long arg) if (hdev->sent_cmd) { atomic_dec(&hdev->cmd_cnt); hci_send_frame(skb); - mod_timer(&hdev->cmd_timer, + if (test_bit(HCI_RESET, &hdev->flags)) + del_timer(&hdev->cmd_timer); + else + mod_timer(&hdev->cmd_timer, jiffies + msecs_to_jiffies(HCI_CMD_TIMEOUT)); } else { skb_queue_head(&hdev->cmd_q, skb); |