Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 92266d6e authored by Lai Jiangshan's avatar Lai Jiangshan Committed by Tejun Heo
Browse files

async: simplify lowest_in_progress()



The code in lowest_in_progress() are duplicated in two branches,
simplify them.

tj: Minor indentation adjustment.

Signed-off-by: default avatarLai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Cc: Arjan van de Ven <arjan@linux.intel.com>
parent 6dbe51c2
Loading
Loading
Loading
Loading
+8 −12
Original line number Diff line number Diff line
@@ -84,24 +84,20 @@ static atomic_t entry_count;

static async_cookie_t lowest_in_progress(struct async_domain *domain)
{
	struct async_entry *first = NULL;
	struct list_head *pending;
	async_cookie_t ret = ASYNC_COOKIE_MAX;
	unsigned long flags;

	spin_lock_irqsave(&async_lock, flags);

	if (domain) {
		if (!list_empty(&domain->pending))
			first = list_first_entry(&domain->pending,
					struct async_entry, domain_list);
	} else {
		if (!list_empty(&async_global_pending))
			first = list_first_entry(&async_global_pending,
					struct async_entry, global_list);
	}
	if (domain)
		pending = &domain->pending;
	else
		pending = &async_global_pending;

	if (first)
		ret = first->cookie;
	if (!list_empty(pending))
		ret = list_first_entry(pending, struct async_entry,
				       domain_list)->cookie;

	spin_unlock_irqrestore(&async_lock, flags);
	return ret;