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

Commit 7d3da090 authored by Miguel Gómez's avatar Miguel Gómez Committed by Greg Kroah-Hartman
Browse files

Staging: ipack/bridges/tpci200: remove gotos in tpci200_free_irq().



Handle error conditions with simple returns instead of usig gotos.

Signed-off-by: default avatarMiguel Gómez <magomez@igalia.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4bf8523d
Loading
Loading
Loading
Loading
+7 −14
Original line number Diff line number Diff line
@@ -512,24 +512,19 @@ static void __tpci200_free_irq(struct tpci200_board *tpci200,

static int tpci200_free_irq(struct ipack_device *dev)
{
	int res;
	struct slot_irq *slot_irq;
	struct tpci200_board *tpci200;

	tpci200 = check_slot(dev);
	if (tpci200 == NULL) {
		res = -EINVAL;
		goto out;
	}
	if (tpci200 == NULL)
		return -EINVAL;

	if (mutex_lock_interruptible(&tpci200->mutex)) {
		res = -ERESTARTSYS;
		goto out;
	}
	if (mutex_lock_interruptible(&tpci200->mutex))
		return -ERESTARTSYS;

	if (tpci200->slots[dev->slot].irq == NULL) {
		res = -EINVAL;
		goto out_unlock;
		mutex_unlock(&tpci200->mutex);
		return -EINVAL;
	}

	__tpci200_free_irq(tpci200, dev);
@@ -537,10 +532,8 @@ static int tpci200_free_irq(struct ipack_device *dev)
	tpci200->slots[dev->slot].irq = NULL;
	kfree(slot_irq);

out_unlock:
	mutex_unlock(&tpci200->mutex);
out:
	return res;
	return 0;
}

static int tpci200_slot_unmap_space(struct ipack_device *dev, int space)