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

Commit 2aa9be44 authored by Hidetoshi Seto's avatar Hidetoshi Seto Committed by Mauro Carvalho Chehab
Browse files

i7core_edac: Introduce free_i7core_dev



Have a method to make a couple with alloc_i7core_dev() previously
introduced.  Using in pair will help proper resource handling.

Signed-off-by: default avatarHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 848b2f7e
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -470,6 +470,13 @@ static struct i7core_dev *alloc_i7core_dev(u8 socket,
	return i7core_dev;
}

static void free_i7core_dev(struct i7core_dev *i7core_dev)
{
	list_del(&i7core_dev->list);
	kfree(i7core_dev->pdev);
	kfree(i7core_dev);
}

/****************************************************************************
			Memory check routines
 ****************************************************************************/
@@ -1265,7 +1272,6 @@ static void i7core_put_devices(struct i7core_dev *i7core_dev)
			PCI_SLOT(pdev->devfn), PCI_FUNC(pdev->devfn));
		pci_dev_put(pdev);
	}
	kfree(i7core_dev->pdev);
}

static void i7core_put_all_devices(void)
@@ -1274,8 +1280,7 @@ static void i7core_put_all_devices(void)

	list_for_each_entry_safe(i7core_dev, tmp, &i7core_edac_list, list) {
		i7core_put_devices(i7core_dev);
		list_del(&i7core_dev->list);
		kfree(i7core_dev);
		free_i7core_dev(i7core_dev);
	}
}

@@ -2106,8 +2111,7 @@ static void __devexit i7core_remove(struct pci_dev *pdev)

			/* Release PCI resources */
			i7core_put_devices(i7core_dev);
			list_del(&i7core_dev->list);
			kfree(i7core_dev);
			free_i7core_dev(i7core_dev);
		}
	}
	probed--;