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 <[email protected]> <[email protected]>
---
Index: linux-2.6.16-rc5-edac/drivers/edac/edac_mc.c
===================================================================
--- linux-2.6.16-rc5-edac.orig/drivers/edac/edac_mc.c 2006-02-27 17:06:17.000000000 -0800
+++ linux-2.6.16-rc5-edac/drivers/edac/edac_mc.c 2006-02-27 17:06:37.000000000 -0800
@@ -1438,8 +1438,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)
@@ -1459,7 +1457,7 @@ int edac_mc_add_mc(struct mem_ctl_info *
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;
@@ -1467,20 +1465,22 @@ int edac_mc_add_mc(struct mem_ctl_info *
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));
+ up(&mem_ctls_mutex);
+ return 0;
- rc = 0;
+fail1:
+ del_mc_from_global_list(mci);
-finish:
+fail0:
up(&mem_ctls_mutex);
- return rc;
+ return 1;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]