Loading drivers/misc/qseecom.c +24 −20 Original line number Original line Diff line number Diff line Loading @@ -1901,6 +1901,7 @@ static int __qseecom_process_blocked_on_listener_legacy( ptr_app->blocked_on_listener_id = resp->data; ptr_app->blocked_on_listener_id = resp->data; /* sleep until listener is available */ /* sleep until listener is available */ do { qseecom.app_block_ref_cnt++; qseecom.app_block_ref_cnt++; ptr_app->app_blocked = true; ptr_app->app_blocked = true; mutex_unlock(&app_access_lock); mutex_unlock(&app_access_lock); Loading @@ -1915,6 +1916,7 @@ static int __qseecom_process_blocked_on_listener_legacy( mutex_lock(&app_access_lock); mutex_lock(&app_access_lock); ptr_app->app_blocked = false; ptr_app->app_blocked = false; qseecom.app_block_ref_cnt--; qseecom.app_block_ref_cnt--; } while (list_ptr->listener_in_use); ptr_app->blocked_on_listener_id = 0; ptr_app->blocked_on_listener_id = 0; /* notify the blocked app that listener is available */ /* notify the blocked app that listener is available */ Loading Loading @@ -1965,6 +1967,7 @@ static int __qseecom_process_blocked_on_listener_smcinvoke( pr_debug("lsntr %d in_use = %d\n", pr_debug("lsntr %d in_use = %d\n", resp->data, list_ptr->listener_in_use); resp->data, list_ptr->listener_in_use); /* sleep until listener is available */ /* sleep until listener is available */ do { qseecom.app_block_ref_cnt++; qseecom.app_block_ref_cnt++; mutex_unlock(&app_access_lock); mutex_unlock(&app_access_lock); if (wait_event_freezable( if (wait_event_freezable( Loading @@ -1977,6 +1980,7 @@ static int __qseecom_process_blocked_on_listener_smcinvoke( } } mutex_lock(&app_access_lock); mutex_lock(&app_access_lock); qseecom.app_block_ref_cnt--; qseecom.app_block_ref_cnt--; } while (list_ptr->listener_in_use); /* notify TZ that listener is available */ /* notify TZ that listener is available */ pr_warn("Lsntr %d is available, unblock session(%d) in TZ\n", pr_warn("Lsntr %d is available, unblock session(%d) in TZ\n", Loading Loading
drivers/misc/qseecom.c +24 −20 Original line number Original line Diff line number Diff line Loading @@ -1901,6 +1901,7 @@ static int __qseecom_process_blocked_on_listener_legacy( ptr_app->blocked_on_listener_id = resp->data; ptr_app->blocked_on_listener_id = resp->data; /* sleep until listener is available */ /* sleep until listener is available */ do { qseecom.app_block_ref_cnt++; qseecom.app_block_ref_cnt++; ptr_app->app_blocked = true; ptr_app->app_blocked = true; mutex_unlock(&app_access_lock); mutex_unlock(&app_access_lock); Loading @@ -1915,6 +1916,7 @@ static int __qseecom_process_blocked_on_listener_legacy( mutex_lock(&app_access_lock); mutex_lock(&app_access_lock); ptr_app->app_blocked = false; ptr_app->app_blocked = false; qseecom.app_block_ref_cnt--; qseecom.app_block_ref_cnt--; } while (list_ptr->listener_in_use); ptr_app->blocked_on_listener_id = 0; ptr_app->blocked_on_listener_id = 0; /* notify the blocked app that listener is available */ /* notify the blocked app that listener is available */ Loading Loading @@ -1965,6 +1967,7 @@ static int __qseecom_process_blocked_on_listener_smcinvoke( pr_debug("lsntr %d in_use = %d\n", pr_debug("lsntr %d in_use = %d\n", resp->data, list_ptr->listener_in_use); resp->data, list_ptr->listener_in_use); /* sleep until listener is available */ /* sleep until listener is available */ do { qseecom.app_block_ref_cnt++; qseecom.app_block_ref_cnt++; mutex_unlock(&app_access_lock); mutex_unlock(&app_access_lock); if (wait_event_freezable( if (wait_event_freezable( Loading @@ -1977,6 +1980,7 @@ static int __qseecom_process_blocked_on_listener_smcinvoke( } } mutex_lock(&app_access_lock); mutex_lock(&app_access_lock); qseecom.app_block_ref_cnt--; qseecom.app_block_ref_cnt--; } while (list_ptr->listener_in_use); /* notify TZ that listener is available */ /* notify TZ that listener is available */ pr_warn("Lsntr %d is available, unblock session(%d) in TZ\n", pr_warn("Lsntr %d is available, unblock session(%d) in TZ\n", Loading