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

Commit 981c65a9 authored by Julia Lawall's avatar Julia Lawall Committed by Samuel Ortiz
Browse files

mfd: Clean timberdale error handling code up



In the first three cases, ioremap has been called, so iounmap is needed.  A
new label for this is introduced, to differentiate it from err_msix, which
is the first point at which msix_entries actually needs to be freed.

Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 54d8e2c3
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -697,7 +697,7 @@ static int __devinit timb_probe(struct pci_dev *dev,
		dev_err(&dev->dev, "The driver supports an older "
			"version of the FPGA, please update the driver to "
			"support %d.%d\n", priv->fw.major, priv->fw.minor);
		goto err_ioremap;
		goto err_config;
	}
	if (priv->fw.major < TIMB_SUPPORTED_MAJOR ||
		priv->fw.minor < TIMB_REQUIRED_MINOR) {
@@ -705,13 +705,13 @@ static int __devinit timb_probe(struct pci_dev *dev,
			"please upgrade the FPGA to at least: %d.%d\n",
			priv->fw.major, priv->fw.minor,
			TIMB_SUPPORTED_MAJOR, TIMB_REQUIRED_MINOR);
		goto err_ioremap;
		goto err_config;
	}

	msix_entries = kzalloc(TIMBERDALE_NR_IRQS * sizeof(*msix_entries),
		GFP_KERNEL);
	if (!msix_entries)
		goto err_ioremap;
		goto err_config;

	for (i = 0; i < TIMBERDALE_NR_IRQS; i++)
		msix_entries[i].entry = i;
@@ -825,6 +825,8 @@ err_mfd:
err_create_file:
	pci_disable_msix(dev);
err_msix:
	kfree(msix_entries);
err_config:
	iounmap(priv->ctl_membase);
err_ioremap:
	release_mem_region(priv->ctl_mapbase, CHIPCTLSIZE);
@@ -833,7 +835,6 @@ err_request:
err_start:
	pci_disable_device(dev);
err_enable:
	kfree(msix_entries);
	kfree(priv);
	pci_set_drvdata(dev, NULL);
	return -ENODEV;