Thread (34 messages) 34 messages, 6 authors, 2012-11-29

Re: [Patch v5 4/7] acpi_memhotplug.c: free memory device if acpi_memory_enable_device() failed

From: Yasuaki Ishimatsu <hidden>
Date: 2012-11-15 09:18:15
Also in: linux-acpi, lkml

2012/11/15 15:59, Wen Congyang wrote:
If acpi_memory_enable_device() fails, acpi_memory_enable_device() will
return a non-zero value, which means we fail to bind the memory device to
this driver.  So we should free memory device before
acpi_memory_device_add() returns.

CC: David Rientjes <rientjes@google.com>
CC: Jiang Liu <redacted>
CC: Len Brown <redacted>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: Paul Mackerras <redacted>
CC: Christoph Lameter <redacted>
Cc: Minchan Kim <redacted>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: KOSAKI Motohiro <redacted>
CC: Yasuaki Ishimatsu <redacted>
CC: Rafael J. Wysocki <redacted>
CC: Konrad Rzeszutek Wilk <redacted>
Signed-off-by: Wen Congyang <redacted>
---
Reviewed-by: Yasuaki Ishimatsu <redacted>

Thanks,
Yasuaki Ishimatsu
quoted hunk ↗ jump to hunk
  drivers/acpi/acpi_memhotplug.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c
index c5e7b6d..e52ad5d 100644
--- a/drivers/acpi/acpi_memhotplug.c
+++ b/drivers/acpi/acpi_memhotplug.c
@@ -421,9 +421,11 @@ static int acpi_memory_device_add(struct acpi_device *device)
  	if (!acpi_memory_check_device(mem_device)) {
  		/* call add_memory func */
  		result = acpi_memory_enable_device(mem_device);
-		if (result)
+		if (result) {
  			printk(KERN_ERR PREFIX
  				"Error in acpi_memory_enable_device\n");
+			acpi_memory_device_free(mem_device);
+		}
  	}
  	return result;
  }

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help