All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 11/15] EDAC: edac_mc_add_mc() fix [2/2]
@ 2006-03-03  1:48 Dave Peterson
  0 siblings, 0 replies; only message in thread
From: Dave Peterson @ 2006-03-03  1:48 UTC (permalink / raw)
  To: alan, akpm; +Cc: linux-kernel, bluesmoke-devel

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> <dave_peterson@pobox.com>
---

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;
 }
 
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-03-03  1:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-03  1:48 [PATCH 11/15] EDAC: edac_mc_add_mc() fix [2/2] Dave Peterson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.