From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Return-Path: Message-ID: <1475738689.12201.2.camel@suse.com> Subject: Re: USB hot-plug not working (ASUS TP301UA-C4028T) From: Oliver Neukum To: Lukas Wunner Cc: Bjorn Helgaas , Bjorn Helgaas , "Rafael J. Wysocki" , Mathias Nyman , Pierre de Villemereuil , Alan Stern , linux-pci@vger.kernel.org, USB list Date: Thu, 06 Oct 2016 09:24:49 +0200 In-Reply-To: <20161005204119.GA5961@wunner.de> References: <57F4B9C5.60600@linux.intel.com> <20161005185401.GA30607@localhost> <20161005204119.GA5961@wunner.de> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 List-ID: On Wed, 2016-10-05 at 22:41 +0200, Lukas Wunner wrote: > The PCI core doesn't allow runtime PM by default. Rather it calls > pm_runtime_forbid() when the device is added (see pci_pm_init(), > called > indirectly from pci_device_add()). PCI drivers need to explicitly > call > pm_runtime_allow(), typically from their ->probe hook. > > If this xHC cannot signal wakeup, it shouldn't allow runtime PM in the > first place. Simple as that. Presumably it can generate PME, just not in D0. The XHCI driver could, albeit with a slight layering violation, check that specific combination. But why put the code for a potentially common problem into xhci? Regards Oliver