Changeset 70327bb in mainline for kernel/generic/src/ipc/ipc.c
- Timestamp:
- 2018-03-13T18:01:47Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e618885
- Parents:
- c25a39e
- git-author:
- Jakub Jermar <jakub@…> (2018-03-04 11:18:52)
- git-committer:
- Jakub Jermar <jakub@…> (2018-03-13 18:01:47)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/ipc/ipc.c
rc25a39e r70327bb 147 147 list_initialize(&box->answers); 148 148 list_initialize(&box->irq_notifs); 149 atomic_set(&box->active_calls, 0); 149 150 box->task = task; 150 151 } … … 350 351 } else { 351 352 atomic_inc(&phone->active_calls); 353 atomic_inc(&caller->answerbox.active_calls); 352 354 kobject_add_ref(phone->kobject); 353 355 call->sender = caller; … … 564 566 list_remove(&request->ab_link); 565 567 atomic_dec(&request->caller_phone->active_calls); 568 atomic_dec(&box->active_calls); 566 569 kobject_put(request->caller_phone->kobject); 567 570 } else if (!list_empty(&box->calls)) { … … 709 712 710 713 atomic_dec(&call->caller_phone->active_calls); 714 atomic_dec(&TASK->answerbox.active_calls); 711 715 kobject_put(call->caller_phone->kobject); 712 716 … … 799 803 /* 800 804 * Go through all phones, until they are all free. 801 * Locking is needed as there may be connection handshakes in progress.802 805 */ 803 806 restart = false; 804 807 if (caps_apply_to_kobject_type(TASK, KOBJECT_TYPE_PHONE, 805 phone_cap_wait_cb, &restart)) { 808 phone_cap_wait_cb, &restart) && 809 atomic_get(&TASK->answerbox.active_calls) == 0) { 806 810 /* Got into cleanup */ 807 811 return;
Note:
See TracChangeset
for help on using the changeset viewer.