On Mon, 2006-06-05 at 17:54 -0700, Jeremy Fitzhardinge wrote: > Kristen Accardi wrote: > > I was able to reproduce this issue on an x40 - I found a bug in the > > code, however, when I fixed that bug I seem to have uncovered another > > one. I'll send you a patch hopefully in the next day or so. > > > Great, looking forward to it. Do you know if this will properly > disconnect the optical drive, or does that need some more ata/ide support? > > Thanks, > J So, here is a patch which will fix the bug. The problem that I found after I fixed the bug occurs in this circumstance: 1. boot in ultrabase 2. undock But not in this case: 1. boot outside base 2. dock/undock etc. The symptom of the problem is that you will undock and your machine will get a softlockup on a CPU and just hang. Checking the log file (when possible) shows lots errors from hdc: and ide: (this ultrabase has a cdrom on it which would be hdc). I am using an x40 to duplicate the issue, so you may have a different experience than I do. The problem seems to be that the cdrom that is on the ultrabase is not unplugging gracefully. I may have to hook up with whoever is working on the ide hotplug and see if this is something I can fix. Incidentally, the reason it works fine when you boot outside the base and then dock/undock is because the cdrom is also not getting properly inserted. So, it appears to power it on, but it is not actually being hotplugged. anyway, this bug fix is needed either way... Andrew can you apply it? Thanks, Kristen Properly use return value from acpi_get_device Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@xxxxxxxxx> --- drivers/acpi/dock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- 2.6-mm.orig/drivers/acpi/dock.c +++ 2.6-mm/drivers/acpi/dock.c @@ -273,7 +273,7 @@ static void dock_remove_acpi_device(acpi struct acpi_device *device; int ret; - if (acpi_bus_get_device(handle, &device)) { + if (!acpi_bus_get_device(handle, &device)) { ret = acpi_bus_trim(device, 1); if (ret) pr_debug("error removing bus, %x\n", -ret); - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html