Lines Matching full:freeze

1229 	if (ref->freeze) {  in binder_cleanup_ref_olocked()
1230 binder_dequeue_work(ref->proc, &ref->freeze->work); in binder_cleanup_ref_olocked()
1361 kfree(ref->freeze); in binder_free_ref()
3856 struct binder_ref_freeze *freeze; in binder_request_freeze_notification() local
3859 freeze = kzalloc(sizeof(*freeze), GFP_KERNEL); in binder_request_freeze_notification()
3860 if (!freeze) in binder_request_freeze_notification()
3868 kfree(freeze); in binder_request_freeze_notification()
3873 if (ref->freeze) { in binder_request_freeze_notification()
3878 kfree(freeze); in binder_request_freeze_notification()
3883 INIT_LIST_HEAD(&freeze->work.entry); in binder_request_freeze_notification()
3884 freeze->cookie = handle_cookie->cookie; in binder_request_freeze_notification()
3885 freeze->work.type = BINDER_WORK_FROZEN_BINDER; in binder_request_freeze_notification()
3886 ref->freeze = freeze; in binder_request_freeze_notification()
3890 freeze->is_frozen = ref->node->proc->is_frozen; in binder_request_freeze_notification()
3894 binder_enqueue_work_ilocked(&freeze->work, &proc->todo); in binder_request_freeze_notification()
3909 struct binder_ref_freeze *freeze; in binder_clear_freeze_notification() local
3923 if (!ref->freeze) { in binder_clear_freeze_notification()
3924 binder_user_error("%d:%d BC_CLEAR_FREEZE_NOTIFICATION freeze notification not active\n", in binder_clear_freeze_notification()
3930 freeze = ref->freeze; in binder_clear_freeze_notification()
3932 if (freeze->cookie != handle_cookie->cookie) { in binder_clear_freeze_notification()
3933 …binder_user_error("%d:%d BC_CLEAR_FREEZE_NOTIFICATION freeze notification cookie mismatch %016llx … in binder_clear_freeze_notification()
3934 proc->pid, thread->pid, (u64)freeze->cookie, in binder_clear_freeze_notification()
3941 ref->freeze = NULL; in binder_clear_freeze_notification()
3943 * Take the existing freeze object and overwrite its work type. There are three cases here: in binder_clear_freeze_notification()
3950 freeze->work.type = BINDER_WORK_CLEAR_FREEZE_NOTIFICATION; in binder_clear_freeze_notification()
3951 if (list_empty(&freeze->work.entry)) { in binder_clear_freeze_notification()
3952 binder_enqueue_work_ilocked(&freeze->work, &proc->todo); in binder_clear_freeze_notification()
3954 } else if (freeze->sent) { in binder_clear_freeze_notification()
3955 freeze->resend = true; in binder_clear_freeze_notification()
3968 struct binder_ref_freeze *freeze = NULL; in binder_freeze_notification_done() local
3977 freeze = tmp_freeze; in binder_freeze_notification_done()
3981 if (!freeze) { in binder_freeze_notification_done()
3987 binder_dequeue_work_ilocked(&freeze->work); in binder_freeze_notification_done()
3988 freeze->sent = false; in binder_freeze_notification_done()
3989 if (freeze->resend) { in binder_freeze_notification_done()
3990 freeze->resend = false; in binder_freeze_notification_done()
3991 binder_enqueue_work_ilocked(&freeze->work, &proc->todo); in binder_freeze_notification_done()
4910 struct binder_ref_freeze *freeze; in binder_thread_read() local
4914 freeze = container_of(w, struct binder_ref_freeze, work); in binder_thread_read()
4915 info.is_frozen = freeze->is_frozen; in binder_thread_read()
4916 info.cookie = freeze->cookie; in binder_thread_read()
4917 freeze->sent = true; in binder_thread_read()
4932 struct binder_ref_freeze *freeze = in binder_thread_read() local
4934 binder_uintptr_t cookie = freeze->cookie; in binder_thread_read()
4937 kfree(freeze); in binder_thread_read()
5158 struct binder_ref_freeze *freeze; in binder_release_work() local
5160 freeze = container_of(w, struct binder_ref_freeze, work); in binder_release_work()
5162 "undelivered freeze notification, %016llx\n", in binder_release_work()
5163 (u64)freeze->cookie); in binder_release_work()
5164 kfree(freeze); in binder_release_work()
5587 * freeze notifications. in binder_add_freeze_work()
5590 if (!ref->freeze) { in binder_add_freeze_work()
5594 ref->freeze->work.type = BINDER_WORK_FROZEN_BINDER; in binder_add_freeze_work()
5595 if (list_empty(&ref->freeze->work.entry)) { in binder_add_freeze_work()
5596 ref->freeze->is_frozen = is_frozen; in binder_add_freeze_work()
5597 binder_enqueue_work_ilocked(&ref->freeze->work, &ref->proc->todo); in binder_add_freeze_work()
5600 if (ref->freeze->sent && ref->freeze->is_frozen != is_frozen) in binder_add_freeze_work()
5601 ref->freeze->resend = true; in binder_add_freeze_work()
5602 ref->freeze->is_frozen = is_frozen; in binder_add_freeze_work()
6423 seq_printf(m, "%shas cleared freeze notification\n", prefix); in print_binder_work_ilocked()
6572 seq_puts(m, " has delivered freeze binder\n"); in print_binder_proc()
6639 "freeze",