lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201103021221.06312.rjw@sisk.pl>
Date:	Wed, 2 Mar 2011 12:21:06 +0100
From:	"Rafael J. Wysocki" <rjw@...k.pl>
To:	Sarah Sharp <sarah.a.sharp@...ux.intel.com>
Cc:	linux-usb@...r.kernel.org, linux-pci@...r.kernel.org,
	linux-kernel@...r.kernel.org,
	Jesse Barnes <jbarnes@...tuousgeek.org>,
	Ozan Caglayan <ozan@...dus.org.tr>
Subject: Re: 2.6.38 regression caused by commit 415e12b

On Wednesday, March 02, 2011, Sarah Sharp wrote:
> On Wed, Mar 02, 2011 at 01:17:04AM +0100, Rafael J. Wysocki wrote:
> > On Wednesday, March 02, 2011, Sarah Sharp wrote:
> > > On Wed, Mar 02, 2011 at 12:30:16AM +0100, Rafael J. Wysocki wrote:
> > > > On Tuesday, March 01, 2011, Sarah Sharp wrote:
> > > > > On Tue, Mar 01, 2011 at 09:55:33PM +0100, Rafael J. Wysocki wrote:
> > > > > > Please check if the appended patch (on top of the Linus' current) helps.
> > > > > 
> > > > > Sorry, it doesn't help.  Same message as before.
> > > > 
> > > > Can you send dmesg with the patch applied, please?
> > > 
> > > Attached.
> > 
> > Something's fishy.  Evidently, _OSC is not executed on your system
> > although it should be with the patch.
> > 
> > Please try the patch below instead and send dmesg (either way).
> 
> The host controller works with that patch.  dmesg is attached.

OK, thanks.

There are two problems.  First, your BIOS says that ASPM is not supported
by it, so we don't call _OSC, which should be fixed by the previous patch.
Second, pci_msi_enabled() returns 0 on your system, which is kind of strange,
because it evidently uses MSIs (as visible in the dmesg).

While I think we can safely request _OSC control even if ASPM is not supported
by the hardware (according to the BIOS), which is done after the first patch,
we need to figure out why 0 is returned by pci_msi_enabled() on your system
and try to work around that.

Thanks,
Rafael

 
> > ---
> >  drivers/acpi/pci_root.c |   11 +++++------
> >  1 file changed, 5 insertions(+), 6 deletions(-)
> > 
> > Index: linux-2.6/drivers/acpi/pci_root.c
> > ===================================================================
> > --- linux-2.6.orig/drivers/acpi/pci_root.c
> > +++ linux-2.6/drivers/acpi/pci_root.c
> > @@ -48,10 +48,7 @@ static int acpi_pci_root_add(struct acpi
> >  static int acpi_pci_root_remove(struct acpi_device *device, int type);
> >  static int acpi_pci_root_start(struct acpi_device *device);
> >  
> > -#define ACPI_PCIE_REQ_SUPPORT (OSC_EXT_PCI_CONFIG_SUPPORT \
> > -				| OSC_ACTIVE_STATE_PWR_SUPPORT \
> > -				| OSC_CLOCK_PWR_CAPABILITY_SUPPORT \
> > -				| OSC_MSI_SUPPORT)
> > +#define ACPI_PCIE_REQ_SUPPORT (OSC_EXT_PCI_CONFIG_SUPPORT | OSC_MSI_SUPPORT)
> >  
> >  static const struct acpi_device_id root_device_ids[] = {
> >  	{"PNP0A03", 0},
> > @@ -572,8 +569,10 @@ static int __devinit acpi_pci_root_add(s
> >  	if (flags != base_flags)
> >  		acpi_pci_osc_support(root, flags);
> >  
> > -	if (!pcie_ports_disabled
> > -	    && (flags & ACPI_PCIE_REQ_SUPPORT) == ACPI_PCIE_REQ_SUPPORT) {
> > +	if (!pcie_ports_disabled) {
> > +		dev_info(root->bus->bridge,
> > +			"ACPI _OSC support set (0x%02x)\n", flags);
> > +
> >  		flags = OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL
> >  			| OSC_PCI_EXPRESS_NATIVE_HP_CONTROL
> >  			| OSC_PCI_EXPRESS_PME_CONTROL;
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ