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

Commit c0377320 authored by Kevin Hilman's avatar Kevin Hilman Committed by Tony Lindgren
Browse files

OMAP2+: mailbox: fix lookups for multiple mailboxes



The pointer math in omap_mbox_get() is not quite right, and leads to
passing NULL to strcmp() when searching for an mbox that is not first
in the list.

Convert to using array indexing as is done in all the other functions
which walk the mbox list.

Tested on OMAP2420/n810, OMAP3630/zoom3, OMAP4430/Blaze

Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent eca83258
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -322,15 +322,18 @@ static void omap_mbox_fini(struct omap_mbox *mbox)

struct omap_mbox *omap_mbox_get(const char *name, struct notifier_block *nb)
{
	struct omap_mbox *mbox;
	int ret;
	struct omap_mbox *_mbox, *mbox = NULL;
	int i, ret;

	if (!mboxes)
		return ERR_PTR(-EINVAL);

	for (mbox = *mboxes; mbox; mbox++)
		if (!strcmp(mbox->name, name))
	for (i = 0; (_mbox = mboxes[i]); i++) {
		if (!strcmp(_mbox->name, name)) {
			mbox = _mbox;
			break;
		}
	}

	if (!mbox)
		return ERR_PTR(-ENOENT);