patch against the motherboard driver. I am unsure what the correct fix is but there are 3 options. 1. The motherboard driver needs to be fixed (my patch or something like it) 2. The algorithm in acpi_bus_match/acpi_bus_find_driver is flawed. 3. There is somthing wrong with the ACPI namespace on the box (BIOS). Let me explain what is happening from a I don't know much about acpi point of view. My system loads to acpi memory hot plug driver just fine during boot. It installs and registers acpi_memory_device_driver and it's handler. When the hot add memory event occurs the handler is called. this is the relevant call path acpi_memory_get_device acpi_bus_add acpi_add_single_object acpi_bus_find_driver acpi_bus_driver_init driver->ops.add The algorithm it try to match devices from acpi_bus_drivers. It looks for drivers that are on the right bus and calls acpi_bus_driver_init. If it gets a good return value for acpi_bus_driver_init it thinks it found the device and returns. The problem is the motherboard driver driver->ops.add is getting called and it ALWAYS returns AE_OK. The device that is passed back up the call chain is the wrong one and things break down. My fix is to make the motherboard driver return an error when it sees resources it doesn't know about. I don't know if this is the correct solution or to but it highlights the problem I am having. With this patch in place this work as expected with regards to the acpi memory device. Kame (who helped me greatly in tracking down the source my troubles) thinks that the root cause is that the device has both a _HID and _CID The driver for _HID is different for _CID and the driver for _CID is found before _HID and I run the wrong add. I am not sure what the correct solution to this problem is. Built against 2.6.17-mm1 but should apply with fuzz just about anywhere. Signed-off-by: Keith Mannthey