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

Commit 186f8ba0 authored by Dan Carpenter's avatar Dan Carpenter Committed by Roland Dreier
Browse files

IB/qib: Cleanup qib_register_observer()



Returning directly is easier to read than do-nothing gotos.  Remove the
duplicative check on "olp" and pull the code in one indent level.

Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Acked-by: default avatarMike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent 49c0e241
Loading
Loading
Loading
Loading
+10 −15
Original line number Diff line number Diff line
@@ -694,28 +694,23 @@ int qib_register_observer(struct qib_devdata *dd,
			  const struct diag_observer *op)
{
	struct diag_observer_list_elt *olp;
	int ret = -EINVAL;
	unsigned long flags;

	if (!dd || !op)
		goto bail;
	ret = -ENOMEM;
		return -EINVAL;
	olp = vmalloc(sizeof *olp);
	if (!olp) {
		pr_err("vmalloc for observer failed\n");
		goto bail;
		return -ENOMEM;
	}
	if (olp) {
		unsigned long flags;

	spin_lock_irqsave(&dd->qib_diag_trans_lock, flags);
	olp->op = op;
	olp->next = dd->diag_observer_list;
	dd->diag_observer_list = olp;
	spin_unlock_irqrestore(&dd->qib_diag_trans_lock, flags);
		ret = 0;
	}
bail:
	return ret;

	return 0;
}

/* Remove all registered observers when device is closed */