mgmt_set_connectable_complete(hdev, status);
 }
 
+static u8 get_service_classes(struct hci_dev *hdev)
+{
+       struct bt_uuid *uuid;
+       u8 val = 0;
+
+       list_for_each_entry(uuid, &hdev->uuids, list)
+               val |= uuid->svc_hint;
+
+       return val;
+}
+
+void __hci_req_update_class(struct hci_request *req)
+{
+       struct hci_dev *hdev = req->hdev;
+       u8 cod[3];
+
+       BT_DBG("%s", hdev->name);
+
+       if (!hdev_is_powered(hdev))
+               return;
+
+       if (!hci_dev_test_flag(hdev, HCI_BREDR_ENABLED))
+               return;
+
+       if (hci_dev_test_flag(hdev, HCI_SERVICE_CACHE))
+               return;
+
+       cod[0] = hdev->minor_class;
+       cod[1] = hdev->major_class;
+       cod[2] = get_service_classes(hdev);
+
+       if (hci_dev_test_flag(hdev, HCI_LIMITED_DISCOVERABLE))
+               cod[1] |= 0x20;
+
+       if (memcmp(cod, hdev->dev_class, 3) == 0)
+               return;
+
+       hci_req_add(req, HCI_OP_WRITE_CLASS_OF_DEV, sizeof(cod), cod);
+}
+
 void __hci_abort_conn(struct hci_request *req, struct hci_conn *conn,
                      u8 reason)
 {
 
        hci_req_add(req, HCI_OP_WRITE_EIR, sizeof(cp), &cp);
 }
 
-static u8 get_service_classes(struct hci_dev *hdev)
-{
-       struct bt_uuid *uuid;
-       u8 val = 0;
-
-       list_for_each_entry(uuid, &hdev->uuids, list)
-               val |= uuid->svc_hint;
-
-       return val;
-}
-
-static void update_class(struct hci_request *req)
-{
-       struct hci_dev *hdev = req->hdev;
-       u8 cod[3];
-
-       BT_DBG("%s", hdev->name);
-
-       if (!hdev_is_powered(hdev))
-               return;
-
-       if (!hci_dev_test_flag(hdev, HCI_BREDR_ENABLED))
-               return;
-
-       if (hci_dev_test_flag(hdev, HCI_SERVICE_CACHE))
-               return;
-
-       cod[0] = hdev->minor_class;
-       cod[1] = hdev->major_class;
-       cod[2] = get_service_classes(hdev);
-
-       if (hci_dev_test_flag(hdev, HCI_LIMITED_DISCOVERABLE))
-               cod[1] |= 0x20;
-
-       if (memcmp(cod, hdev->dev_class, 3) == 0)
-               return;
-
-       hci_req_add(req, HCI_OP_WRITE_CLASS_OF_DEV, sizeof(cod), cod);
-}
-
 static void service_cache_off(struct work_struct *work)
 {
        struct hci_dev *hdev = container_of(work, struct hci_dev,
        hci_dev_lock(hdev);
 
        update_eir(&req);
-       update_class(&req);
+       __hci_req_update_class(&req);
 
        hci_dev_unlock(hdev);
 
         */
        hci_req_init(&req, hdev);
        __hci_req_update_scan(&req);
-       update_class(&req);
+       __hci_req_update_class(&req);
        hci_req_run(&req, NULL);
 
 remove_cmd:
 
        hci_req_init(&req, hdev);
 
-       update_class(&req);
+       __hci_req_update_class(&req);
        update_eir(&req);
 
        err = hci_req_run(&req, add_uuid_complete);
 update_class:
        hci_req_init(&req, hdev);
 
-       update_class(&req);
+       __hci_req_update_class(&req);
        update_eir(&req);
 
        err = hci_req_run(&req, remove_uuid_complete);
                update_eir(&req);
        }
 
-       update_class(&req);
+       __hci_req_update_class(&req);
 
        err = hci_req_run(&req, set_class_complete);
        if (err < 0) {
                else
                        write_fast_connectable(&req, false);
                __hci_req_update_scan(&req);
-               update_class(&req);
+               __hci_req_update_class(&req);
                update_name(&req);
                update_eir(&req);
        }
                hci_req_add(&req, HCI_OP_WRITE_SCAN_ENABLE,
                            sizeof(scan), &scan);
        }
-       update_class(&req);
+       __hci_req_update_class(&req);
 
        /* Advertising instances don't use the global discoverable setting, so
         * only update AD if advertising was enabled using Set Advertising.