encrypt = (conn->link_mode & HCI_LM_ENCRYPT) ? 0x01 : 0x00;
 
-       read_lock_bh(&hci_cb_list_lock);
+       read_lock(&hci_cb_list_lock);
        list_for_each(p, &hci_cb_list) {
                struct hci_cb *cb = list_entry(p, struct hci_cb, list);
                if (cb->security_cfm)
                        cb->security_cfm(conn, status, encrypt);
        }
-       read_unlock_bh(&hci_cb_list_lock);
+       read_unlock(&hci_cb_list_lock);
 }
 
 static inline void hci_encrypt_cfm(struct hci_conn *conn, __u8 status,
 
        hci_proto_encrypt_cfm(conn, status, encrypt);
 
-       read_lock_bh(&hci_cb_list_lock);
+       read_lock(&hci_cb_list_lock);
        list_for_each(p, &hci_cb_list) {
                struct hci_cb *cb = list_entry(p, struct hci_cb, list);
                if (cb->security_cfm)
                        cb->security_cfm(conn, status, encrypt);
        }
-       read_unlock_bh(&hci_cb_list_lock);
+       read_unlock(&hci_cb_list_lock);
 }
 
 static inline void hci_key_change_cfm(struct hci_conn *conn, __u8 status)
 {
        struct list_head *p;
 
-       read_lock_bh(&hci_cb_list_lock);
+       read_lock(&hci_cb_list_lock);
        list_for_each(p, &hci_cb_list) {
                struct hci_cb *cb = list_entry(p, struct hci_cb, list);
                if (cb->key_change_cfm)
                        cb->key_change_cfm(conn, status);
        }
-       read_unlock_bh(&hci_cb_list_lock);
+       read_unlock(&hci_cb_list_lock);
 }
 
 static inline void hci_role_switch_cfm(struct hci_conn *conn, __u8 status,
 {
        struct list_head *p;
 
-       read_lock_bh(&hci_cb_list_lock);
+       read_lock(&hci_cb_list_lock);
        list_for_each(p, &hci_cb_list) {
                struct hci_cb *cb = list_entry(p, struct hci_cb, list);
                if (cb->role_switch_cfm)
                        cb->role_switch_cfm(conn, status, role);
        }
-       read_unlock_bh(&hci_cb_list_lock);
+       read_unlock(&hci_cb_list_lock);
 }
 
 int hci_register_cb(struct hci_cb *hcb);
 
 
        BT_DBG("%s -> %s", batostr(src), batostr(dst));
 
-       read_lock_bh(&hci_dev_list_lock);
+       read_lock(&hci_dev_list_lock);
 
        list_for_each_entry(d, &hci_dev_list, list) {
                if (!test_bit(HCI_UP, &d->flags) || test_bit(HCI_RAW, &d->flags))
        if (hdev)
                hdev = hci_dev_hold(hdev);
 
-       read_unlock_bh(&hci_dev_list_lock);
+       read_unlock(&hci_dev_list_lock);
        return hdev;
 }
 EXPORT_SYMBOL(hci_get_route);
 
 
        dr = dl->dev_req;
 
-       read_lock_bh(&hci_dev_list_lock);
+       read_lock(&hci_dev_list_lock);
        list_for_each_entry(hdev, &hci_dev_list, list) {
                if (test_and_clear_bit(HCI_AUTO_OFF, &hdev->flags))
                        cancel_delayed_work(&hdev->power_off);
                if (++n >= dev_num)
                        break;
        }
-       read_unlock_bh(&hci_dev_list_lock);
+       read_unlock(&hci_dev_list_lock);
 
        dl->dev_num = n;
        size = sizeof(*dl) + n * sizeof(*dr);
         */
        id = (hdev->dev_type == HCI_BREDR) ? 0 : 1;
 
-       write_lock_bh(&hci_dev_list_lock);
+       write_lock(&hci_dev_list_lock);
 
        /* Find first available device id */
        list_for_each(p, &hci_dev_list) {
 
        atomic_set(&hdev->promisc, 0);
 
-       write_unlock_bh(&hci_dev_list_lock);
+       write_unlock(&hci_dev_list_lock);
 
        hdev->workqueue = alloc_workqueue(hdev->name, WQ_HIGHPRI | WQ_UNBOUND |
                                                        WQ_MEM_RECLAIM, 1);
 err_wqueue:
        destroy_workqueue(hdev->workqueue);
 err:
-       write_lock_bh(&hci_dev_list_lock);
+       write_lock(&hci_dev_list_lock);
        list_del(&hdev->list);
-       write_unlock_bh(&hci_dev_list_lock);
+       write_unlock(&hci_dev_list_lock);
 
        return error;
 }
 
        BT_DBG("%p name %s bus %d", hdev, hdev->name, hdev->bus);
 
-       write_lock_bh(&hci_dev_list_lock);
+       write_lock(&hci_dev_list_lock);
        list_del(&hdev->list);
-       write_unlock_bh(&hci_dev_list_lock);
+       write_unlock(&hci_dev_list_lock);
 
        hci_dev_do_close(hdev);
 
 {
        BT_DBG("%p name %s", cb, cb->name);
 
-       write_lock_bh(&hci_cb_list_lock);
+       write_lock(&hci_cb_list_lock);
        list_add(&cb->list, &hci_cb_list);
-       write_unlock_bh(&hci_cb_list_lock);
+       write_unlock(&hci_cb_list_lock);
 
        return 0;
 }
 {
        BT_DBG("%p name %s", cb, cb->name);
 
-       write_lock_bh(&hci_cb_list_lock);
+       write_lock(&hci_cb_list_lock);
        list_del(&cb->list);
-       write_unlock_bh(&hci_cb_list_lock);
+       write_unlock(&hci_cb_list_lock);
 
        return 0;
 }