diff options
| -rw-r--r-- | drivers/edac/i7core_edac.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/edac/i7core_edac.c b/drivers/edac/i7core_edac.c index c4fa112271e..e1cbbbad466 100644 --- a/drivers/edac/i7core_edac.c +++ b/drivers/edac/i7core_edac.c | |||
| @@ -470,6 +470,13 @@ static struct i7core_dev *alloc_i7core_dev(u8 socket, | |||
| 470 | return i7core_dev; | 470 | return i7core_dev; |
| 471 | } | 471 | } |
| 472 | 472 | ||
| 473 | static void free_i7core_dev(struct i7core_dev *i7core_dev) | ||
| 474 | { | ||
| 475 | list_del(&i7core_dev->list); | ||
| 476 | kfree(i7core_dev->pdev); | ||
| 477 | kfree(i7core_dev); | ||
| 478 | } | ||
| 479 | |||
| 473 | /**************************************************************************** | 480 | /**************************************************************************** |
| 474 | Memory check routines | 481 | Memory check routines |
| 475 | ****************************************************************************/ | 482 | ****************************************************************************/ |
| @@ -1265,7 +1272,6 @@ static void i7core_put_devices(struct i7core_dev *i7core_dev) | |||
| 1265 | PCI_SLOT(pdev->devfn), PCI_FUNC(pdev->devfn)); | 1272 | PCI_SLOT(pdev->devfn), PCI_FUNC(pdev->devfn)); |
| 1266 | pci_dev_put(pdev); | 1273 | pci_dev_put(pdev); |
| 1267 | } | 1274 | } |
| 1268 | kfree(i7core_dev->pdev); | ||
| 1269 | } | 1275 | } |
| 1270 | 1276 | ||
| 1271 | static void i7core_put_all_devices(void) | 1277 | static void i7core_put_all_devices(void) |
| @@ -1274,8 +1280,7 @@ static void i7core_put_all_devices(void) | |||
| 1274 | 1280 | ||
| 1275 | list_for_each_entry_safe(i7core_dev, tmp, &i7core_edac_list, list) { | 1281 | list_for_each_entry_safe(i7core_dev, tmp, &i7core_edac_list, list) { |
| 1276 | i7core_put_devices(i7core_dev); | 1282 | i7core_put_devices(i7core_dev); |
| 1277 | list_del(&i7core_dev->list); | 1283 | free_i7core_dev(i7core_dev); |
| 1278 | kfree(i7core_dev); | ||
| 1279 | } | 1284 | } |
| 1280 | } | 1285 | } |
| 1281 | 1286 | ||
| @@ -2106,8 +2111,7 @@ static void __devexit i7core_remove(struct pci_dev *pdev) | |||
| 2106 | 2111 | ||
| 2107 | /* Release PCI resources */ | 2112 | /* Release PCI resources */ |
| 2108 | i7core_put_devices(i7core_dev); | 2113 | i7core_put_devices(i7core_dev); |
| 2109 | list_del(&i7core_dev->list); | 2114 | free_i7core_dev(i7core_dev); |
| 2110 | kfree(i7core_dev); | ||
| 2111 | } | 2115 | } |
| 2112 | } | 2116 | } |
| 2113 | probed--; | 2117 | probed--; |
