diff options
Diffstat (limited to 'net/bluetooth')
-rw-r--r-- | net/bluetooth/hci_core.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index 471e4fb1b6e5..e91bf7e15666 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c | |||
@@ -690,12 +690,11 @@ int hci_dev_open(__u16 dev) | |||
690 | set_bit(HCI_INIT, &hdev->flags); | 690 | set_bit(HCI_INIT, &hdev->flags); |
691 | hdev->init_last_cmd = 0; | 691 | hdev->init_last_cmd = 0; |
692 | 692 | ||
693 | ret = __hci_request(hdev, hci_init_req, 0, | 693 | ret = __hci_request(hdev, hci_init_req, 0, HCI_INIT_TIMEOUT); |
694 | msecs_to_jiffies(HCI_INIT_TIMEOUT)); | ||
695 | 694 | ||
696 | if (lmp_host_le_capable(hdev)) | 695 | if (lmp_host_le_capable(hdev)) |
697 | ret = __hci_request(hdev, hci_le_init_req, 0, | 696 | ret = __hci_request(hdev, hci_le_init_req, 0, |
698 | msecs_to_jiffies(HCI_INIT_TIMEOUT)); | 697 | HCI_INIT_TIMEOUT); |
699 | 698 | ||
700 | clear_bit(HCI_INIT, &hdev->flags); | 699 | clear_bit(HCI_INIT, &hdev->flags); |
701 | } | 700 | } |
@@ -782,8 +781,7 @@ static int hci_dev_do_close(struct hci_dev *hdev) | |||
782 | if (!test_bit(HCI_RAW, &hdev->flags) && | 781 | if (!test_bit(HCI_RAW, &hdev->flags) && |
783 | test_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks)) { | 782 | test_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks)) { |
784 | set_bit(HCI_INIT, &hdev->flags); | 783 | set_bit(HCI_INIT, &hdev->flags); |
785 | __hci_request(hdev, hci_reset_req, 0, | 784 | __hci_request(hdev, hci_reset_req, 0, HCI_CMD_TIMEOUT); |
786 | msecs_to_jiffies(HCI_CMD_TIMEOUT)); | ||
787 | clear_bit(HCI_INIT, &hdev->flags); | 785 | clear_bit(HCI_INIT, &hdev->flags); |
788 | } | 786 | } |
789 | 787 | ||
@@ -872,8 +870,7 @@ int hci_dev_reset(__u16 dev) | |||
872 | hdev->acl_cnt = 0; hdev->sco_cnt = 0; hdev->le_cnt = 0; | 870 | hdev->acl_cnt = 0; hdev->sco_cnt = 0; hdev->le_cnt = 0; |
873 | 871 | ||
874 | if (!test_bit(HCI_RAW, &hdev->flags)) | 872 | if (!test_bit(HCI_RAW, &hdev->flags)) |
875 | ret = __hci_request(hdev, hci_reset_req, 0, | 873 | ret = __hci_request(hdev, hci_reset_req, 0, HCI_INIT_TIMEOUT); |
876 | msecs_to_jiffies(HCI_INIT_TIMEOUT)); | ||
877 | 874 | ||
878 | done: | 875 | done: |
879 | hci_req_unlock(hdev); | 876 | hci_req_unlock(hdev); |
@@ -913,7 +910,7 @@ int hci_dev_cmd(unsigned int cmd, void __user *arg) | |||
913 | switch (cmd) { | 910 | switch (cmd) { |
914 | case HCISETAUTH: | 911 | case HCISETAUTH: |
915 | err = hci_request(hdev, hci_auth_req, dr.dev_opt, | 912 | err = hci_request(hdev, hci_auth_req, dr.dev_opt, |
916 | msecs_to_jiffies(HCI_INIT_TIMEOUT)); | 913 | HCI_INIT_TIMEOUT); |
917 | break; | 914 | break; |
918 | 915 | ||
919 | case HCISETENCRYPT: | 916 | case HCISETENCRYPT: |
@@ -925,23 +922,23 @@ int hci_dev_cmd(unsigned int cmd, void __user *arg) | |||
925 | if (!test_bit(HCI_AUTH, &hdev->flags)) { | 922 | if (!test_bit(HCI_AUTH, &hdev->flags)) { |
926 | /* Auth must be enabled first */ | 923 | /* Auth must be enabled first */ |
927 | err = hci_request(hdev, hci_auth_req, dr.dev_opt, | 924 | err = hci_request(hdev, hci_auth_req, dr.dev_opt, |
928 | msecs_to_jiffies(HCI_INIT_TIMEOUT)); | 925 | HCI_INIT_TIMEOUT); |
929 | if (err) | 926 | if (err) |
930 | break; | 927 | break; |
931 | } | 928 | } |
932 | 929 | ||
933 | err = hci_request(hdev, hci_encrypt_req, dr.dev_opt, | 930 | err = hci_request(hdev, hci_encrypt_req, dr.dev_opt, |
934 | msecs_to_jiffies(HCI_INIT_TIMEOUT)); | 931 | HCI_INIT_TIMEOUT); |
935 | break; | 932 | break; |
936 | 933 | ||
937 | case HCISETSCAN: | 934 | case HCISETSCAN: |
938 | err = hci_request(hdev, hci_scan_req, dr.dev_opt, | 935 | err = hci_request(hdev, hci_scan_req, dr.dev_opt, |
939 | msecs_to_jiffies(HCI_INIT_TIMEOUT)); | 936 | HCI_INIT_TIMEOUT); |
940 | break; | 937 | break; |
941 | 938 | ||
942 | case HCISETLINKPOL: | 939 | case HCISETLINKPOL: |
943 | err = hci_request(hdev, hci_linkpol_req, dr.dev_opt, | 940 | err = hci_request(hdev, hci_linkpol_req, dr.dev_opt, |
944 | msecs_to_jiffies(HCI_INIT_TIMEOUT)); | 941 | HCI_INIT_TIMEOUT); |
945 | break; | 942 | break; |
946 | 943 | ||
947 | case HCISETLINKMODE: | 944 | case HCISETLINKMODE: |
@@ -2455,7 +2452,7 @@ static void __check_timeout(struct hci_dev *hdev, unsigned int cnt) | |||
2455 | /* ACL tx timeout must be longer than maximum | 2452 | /* ACL tx timeout must be longer than maximum |
2456 | * link supervision timeout (40.9 seconds) */ | 2453 | * link supervision timeout (40.9 seconds) */ |
2457 | if (!cnt && time_after(jiffies, hdev->acl_last_tx + | 2454 | if (!cnt && time_after(jiffies, hdev->acl_last_tx + |
2458 | msecs_to_jiffies(HCI_ACL_TX_TIMEOUT))) | 2455 | HCI_ACL_TX_TIMEOUT)) |
2459 | hci_link_tx_to(hdev, ACL_LINK); | 2456 | hci_link_tx_to(hdev, ACL_LINK); |
2460 | } | 2457 | } |
2461 | } | 2458 | } |
@@ -2839,7 +2836,7 @@ static void hci_cmd_work(struct work_struct *work) | |||
2839 | del_timer(&hdev->cmd_timer); | 2836 | del_timer(&hdev->cmd_timer); |
2840 | else | 2837 | else |
2841 | mod_timer(&hdev->cmd_timer, | 2838 | mod_timer(&hdev->cmd_timer, |
2842 | jiffies + msecs_to_jiffies(HCI_CMD_TIMEOUT)); | 2839 | jiffies + HCI_CMD_TIMEOUT); |
2843 | } else { | 2840 | } else { |
2844 | skb_queue_head(&hdev->cmd_q, skb); | 2841 | skb_queue_head(&hdev->cmd_q, skb); |
2845 | queue_work(hdev->workqueue, &hdev->cmd_work); | 2842 | queue_work(hdev->workqueue, &hdev->cmd_work); |