Skip to content

Commit

Permalink
[PATCH] EDAC: edac_mc_add_mc fix [2/2]
Browse files Browse the repository at this point in the history
This is part 2 of a 2-part patch set.

Fix edac_mc_add_mc() so it cleans up properly if call to
edac_create_sysfs_mci_device() fails.

Signed-off-by: David S. Peterson <dsp@llnl.gov>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Dave Peterson authored and Linus Torvalds committed Mar 26, 2006
1 parent a1d03fc commit 028a7b6
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions drivers/edac/edac_mc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1484,8 +1484,6 @@ EXPORT_SYMBOL(edac_mc_add_mc);
/* FIXME - should a warning be printed if no error detection? correction? */
int edac_mc_add_mc(struct mem_ctl_info *mci)
{
int rc = 1;

debugf0("%s()\n", __func__);
#ifdef CONFIG_EDAC_DEBUG
if (edac_debug_level >= 3)
Expand All @@ -1505,27 +1503,30 @@ int edac_mc_add_mc(struct mem_ctl_info *mci)
down(&mem_ctls_mutex);

if (add_mc_to_global_list(mci))
goto finish;
goto fail0;

/* set load time so that error rate can be tracked */
mci->start_time = jiffies;

if (edac_create_sysfs_mci_device(mci)) {
edac_mc_printk(mci, KERN_WARNING,
"failed to create sysfs device\n");
/* FIXME - should there be an error code and unwind? */
goto finish;
goto fail1;
}

/* Report action taken */
edac_mc_printk(mci, KERN_INFO, "Giving out device to %s %s: PCI %s\n",
mci->mod_name, mci->ctl_name, pci_name(mci->pdev));

rc = 0;
up(&mem_ctls_mutex);
return 0;

finish:
fail1:
del_mc_from_global_list(mci);

fail0:
up(&mem_ctls_mutex);
return rc;
return 1;
}


Expand Down

0 comments on commit 028a7b6

Please sign in to comment.