Lines Matching full:freeze
1355 kfree(ref->freeze); in binder_free_ref()
3851 struct binder_ref_freeze *freeze; in binder_request_freeze_notification() local
3855 freeze = kzalloc(sizeof(*freeze), GFP_KERNEL); in binder_request_freeze_notification()
3856 if (!freeze) in binder_request_freeze_notification()
3864 kfree(freeze); in binder_request_freeze_notification()
3870 if (ref->freeze || !ref->node->proc) { in binder_request_freeze_notification()
3873 ref->freeze ? "already set" : "dead node"); in binder_request_freeze_notification()
3876 kfree(freeze); in binder_request_freeze_notification()
3884 INIT_LIST_HEAD(&freeze->work.entry); in binder_request_freeze_notification()
3885 freeze->cookie = handle_cookie->cookie; in binder_request_freeze_notification()
3886 freeze->work.type = BINDER_WORK_FROZEN_BINDER; in binder_request_freeze_notification()
3887 freeze->is_frozen = is_frozen; in binder_request_freeze_notification()
3889 ref->freeze = freeze; in binder_request_freeze_notification()
3892 binder_enqueue_work_ilocked(&ref->freeze->work, &proc->todo); in binder_request_freeze_notification()
3906 struct binder_ref_freeze *freeze; in binder_clear_freeze_notification() local
3920 if (!ref->freeze) { in binder_clear_freeze_notification()
3921 binder_user_error("%d:%d BC_CLEAR_FREEZE_NOTIFICATION freeze notification not active\n", in binder_clear_freeze_notification()
3927 freeze = ref->freeze; in binder_clear_freeze_notification()
3929 if (freeze->cookie != handle_cookie->cookie) { in binder_clear_freeze_notification()
3930 …binder_user_error("%d:%d BC_CLEAR_FREEZE_NOTIFICATION freeze notification cookie mismatch %016llx … in binder_clear_freeze_notification()
3931 proc->pid, thread->pid, (u64)freeze->cookie, in binder_clear_freeze_notification()
3938 ref->freeze = NULL; in binder_clear_freeze_notification()
3940 * Take the existing freeze object and overwrite its work type. There are three cases here: in binder_clear_freeze_notification()
3947 freeze->work.type = BINDER_WORK_CLEAR_FREEZE_NOTIFICATION; in binder_clear_freeze_notification()
3948 if (list_empty(&freeze->work.entry)) { in binder_clear_freeze_notification()
3949 binder_enqueue_work_ilocked(&freeze->work, &proc->todo); in binder_clear_freeze_notification()
3951 } else if (freeze->sent) { in binder_clear_freeze_notification()
3952 freeze->resend = true; in binder_clear_freeze_notification()
3965 struct binder_ref_freeze *freeze = NULL; in binder_freeze_notification_done() local
3974 freeze = tmp_freeze; in binder_freeze_notification_done()
3978 if (!freeze) { in binder_freeze_notification_done()
3984 binder_dequeue_work_ilocked(&freeze->work); in binder_freeze_notification_done()
3985 freeze->sent = false; in binder_freeze_notification_done()
3986 if (freeze->resend) { in binder_freeze_notification_done()
3987 freeze->resend = false; in binder_freeze_notification_done()
3988 binder_enqueue_work_ilocked(&freeze->work, &proc->todo); in binder_freeze_notification_done()
4907 struct binder_ref_freeze *freeze; in binder_thread_read() local
4911 freeze = container_of(w, struct binder_ref_freeze, work); in binder_thread_read()
4912 info.is_frozen = freeze->is_frozen; in binder_thread_read()
4913 info.cookie = freeze->cookie; in binder_thread_read()
4914 freeze->sent = true; in binder_thread_read()
4929 struct binder_ref_freeze *freeze = in binder_thread_read() local
4931 binder_uintptr_t cookie = freeze->cookie; in binder_thread_read()
4934 kfree(freeze); in binder_thread_read()
5570 * freeze notifications. in binder_add_freeze_work()
5573 if (!ref->freeze) { in binder_add_freeze_work()
5577 ref->freeze->work.type = BINDER_WORK_FROZEN_BINDER; in binder_add_freeze_work()
5578 if (list_empty(&ref->freeze->work.entry)) { in binder_add_freeze_work()
5579 ref->freeze->is_frozen = is_frozen; in binder_add_freeze_work()
5580 binder_enqueue_work_ilocked(&ref->freeze->work, &ref->proc->todo); in binder_add_freeze_work()
5583 if (ref->freeze->sent && ref->freeze->is_frozen != is_frozen) in binder_add_freeze_work()
5584 ref->freeze->resend = true; in binder_add_freeze_work()
5585 ref->freeze->is_frozen = is_frozen; in binder_add_freeze_work()
6606 "freeze",