diff options
Diffstat (limited to 'drivers/edac/i7core_edac.c')
| -rw-r--r-- | drivers/edac/i7core_edac.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/edac/i7core_edac.c b/drivers/edac/i7core_edac.c index c16c3b931b3d..8c5540160a23 100644 --- a/drivers/edac/i7core_edac.c +++ b/drivers/edac/i7core_edac.c | |||
| @@ -2159,8 +2159,13 @@ static int i7core_register_mci(struct i7core_dev *i7core_dev) | |||
| 2159 | mci->edac_ctl_cap = EDAC_FLAG_NONE; | 2159 | mci->edac_ctl_cap = EDAC_FLAG_NONE; |
| 2160 | mci->edac_cap = EDAC_FLAG_NONE; | 2160 | mci->edac_cap = EDAC_FLAG_NONE; |
| 2161 | mci->mod_name = "i7core_edac.c"; | 2161 | mci->mod_name = "i7core_edac.c"; |
| 2162 | mci->ctl_name = kasprintf(GFP_KERNEL, "i7 core #%d", | 2162 | |
| 2163 | i7core_dev->socket); | 2163 | mci->ctl_name = kasprintf(GFP_KERNEL, "i7 core #%d", i7core_dev->socket); |
| 2164 | if (!mci->ctl_name) { | ||
| 2165 | rc = -ENOMEM; | ||
| 2166 | goto fail1; | ||
| 2167 | } | ||
| 2168 | |||
| 2164 | mci->dev_name = pci_name(i7core_dev->pdev[0]); | 2169 | mci->dev_name = pci_name(i7core_dev->pdev[0]); |
| 2165 | mci->ctl_page_to_phys = NULL; | 2170 | mci->ctl_page_to_phys = NULL; |
| 2166 | 2171 | ||
| @@ -2214,6 +2219,8 @@ static int i7core_register_mci(struct i7core_dev *i7core_dev) | |||
| 2214 | 2219 | ||
| 2215 | fail0: | 2220 | fail0: |
| 2216 | kfree(mci->ctl_name); | 2221 | kfree(mci->ctl_name); |
| 2222 | |||
| 2223 | fail1: | ||
| 2217 | edac_mc_free(mci); | 2224 | edac_mc_free(mci); |
| 2218 | i7core_dev->mci = NULL; | 2225 | i7core_dev->mci = NULL; |
| 2219 | return rc; | 2226 | return rc; |
