Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752051AbYCLKjT (ORCPT ); Wed, 12 Mar 2008 06:39:19 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751028AbYCLKjG (ORCPT ); Wed, 12 Mar 2008 06:39:06 -0400 Received: from mail.suse.de ([195.135.220.2]:40664 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750788AbYCLKjF (ORCPT ); Wed, 12 Mar 2008 06:39:05 -0400 Date: Wed, 12 Mar 2008 11:40:35 +0100 From: Holger Macht To: Andrew Morton Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Kristen Carlson Accardi , Len Brown , stable@kernel.org Subject: Re: [PATCH] ACPI: Set flag DOCK_UNDOCKING when triggered via sysfs Message-ID: <20080312104034.GA4371@homac> Mail-Followup-To: Andrew Morton , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Kristen Carlson Accardi , Len Brown , stable@kernel.org References: <20080312000727.GB4089@homac> <20080311223522.3326b6ee.akpm@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20080311223522.3326b6ee.akpm@linux-foundation.org> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1692 Lines: 45 On Di 11. M?r - 22:35:22, Andrew Morton wrote: > On Wed, 12 Mar 2008 01:07:27 +0100 Holger Macht wrote: > > > begin_undock() is only called when triggered via a acpi notify handler > > (pressing the undock button on the dock station), but complete_undock() is > > always called after the eject. So if a undock is triggered through a sysfs > > write, the flag DOCK_UNDOCKING has to be set for the dock station, > > too. Otherwise this will freeze the system hard. > > > > We prefer not to make systems freeze hard. > > > --- > > > > diff --git a/drivers/acpi/dock.c b/drivers/acpi/dock.c > > index 307cef6..fa44fb9 100644 > > --- a/drivers/acpi/dock.c > > +++ b/drivers/acpi/dock.c > > @@ -710,6 +710,7 @@ static ssize_t write_undock(struct device *dev, struct device_attribute *attr, > > if (!count) > > return -EINVAL; > > > > + begin_undock(dock_station); > > ret = handle_eject_request(dock_station, ACPI_NOTIFY_EJECT_REQUEST); > > return ret ? ret: count; > > } > > I assume that this is needed in 2.6.24.x as well? I tested this, and no, I weren't able to reproduce on 2.6.24. Moreover, it seems that the freeze is related to some libata issue because it only freezes when a drive is in the dock station. Nevertheless, I think the patch is correct. Maybe there's a race involved somewhere I'm not aware of. I really like to wait for Kristen to comment before pushing it into more trees. Thanks, Holger -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/