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

Commit 0be048cb authored by Mark Hounschell's avatar Mark Hounschell Committed by Greg Kroah-Hartman
Browse files

staging: dgap: Simplify dgap_find_config



Simplify ugly dgap_find_config function

Signed-off-by: default avatarMark Hounschell <markh@compro.net>
Tested-by: default avatarMark Hounschell <markh@compro.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9a133a90
Loading
Loading
Loading
Loading
+43 −41
Original line number Diff line number Diff line
@@ -7354,13 +7354,16 @@ static struct cnode *dgap_find_config(int type, int bus, int slot)
		prev = p;
		p = p->next;

		if (p->type == BNODE) {
		if (p->type != BNODE)
			continue;

			if (p->u.board.type == type) {
		if (p->u.board.type != type)
			continue;

		if (p->u.board.v_pcibus &&
		    p->u.board.pcibus != bus)
			continue;

		if (p->u.board.v_pcislot &&
		    p->u.board.pcislot != slot)
			continue;
@@ -7373,7 +7376,9 @@ static struct cnode *dgap_find_config(int type, int bus, int slot)
		while (p->next) {
			prev2 = p;
			p = p->next;
					if (p->type == BNODE) {

			if (p->type != BNODE)
				continue;

			/*
			 * Mark the end of our 1 board
@@ -7391,15 +7396,12 @@ static struct cnode *dgap_find_config(int type, int bus, int slot)

			return found;
		}
				}
		/*
		 * It must be the last board in the list.
		 */
		prev->next = NULL;
		return found;
	}
		}
	}
	return NULL;
}