From patchwork Mon Dec 14 22:41:41 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linus Torvalds X-Patchwork-Id: 67411 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id nBEMgGOl031713 for ; Mon, 14 Dec 2009 22:42:16 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754805AbZLNWmP (ORCPT ); Mon, 14 Dec 2009 17:42:15 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756684AbZLNWmP (ORCPT ); Mon, 14 Dec 2009 17:42:15 -0500 Received: from smtp1.linux-foundation.org ([140.211.169.13]:35032 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754805AbZLNWmN (ORCPT ); Mon, 14 Dec 2009 17:42:13 -0500 Received: from imap1.linux-foundation.org (imap1.linux-foundation.org [140.211.169.55]) by smtp1.linux-foundation.org (8.14.2/8.13.5/Debian-3ubuntu1.1) with ESMTP id nBEMffcx030004 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 14 Dec 2009 14:41:43 -0800 Received: from localhost (localhost [127.0.0.1]) by imap1.linux-foundation.org (8.13.5.20060308/8.13.5/Debian-3ubuntu1.1) with ESMTP id nBEMffir024828; Mon, 14 Dec 2009 14:41:41 -0800 Date: Mon, 14 Dec 2009 14:41:41 -0800 (PST) From: Linus Torvalds X-X-Sender: torvalds@localhost.localdomain To: "Rafael J. Wysocki" cc: Alan Stern , Zhang Rui , LKML , ACPI Devel Maling List , pm list Subject: Re: Async suspend-resume patch w/ completions (was: Re: Async suspend-resume patch w/ rwsems) In-Reply-To: <200912142311.31658.rjw@sisk.pl> Message-ID: References: <200912122334.08367.rjw@sisk.pl> <200912142311.31658.rjw@sisk.pl> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 X-Spam-Status: No, hits=-3.451 required=5 tests=AWL,BAYES_00 X-Spam-Checker-Version: SpamAssassin 3.2.4-osdl_revision__1.47__ X-MIMEDefang-Filter: lf$Revision: 1.188 $ X-Scanned-By: MIMEDefang 2.63 on 140.211.169.13 Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 98ffb2d..4e0ad7b 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -437,6 +437,17 @@ static struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent, } bridge->subordinate = child; + /* + * We don't really suspend PCI buses asyncronously. + * + * However, since we don't actually suspend them at all until + * the late phase, we might as well lie to the device layer + * and it to do our no-op not-suspend asynchronously, so that + * we end up not synchronizing with any of our child devices + * that might want to be asynchronous. + */ + bridge->dev.power.async_suspend = 1; + return child; }