Re: [PATCH] pci: Don't enable aspm before drivers have had achance to veto it

From: Maxim Levitsky
Date: Fri Jun 18 2010 - 13:05:52 EST


On Fri, 2010-06-18 at 09:12 -0700, Jesse Barnes wrote:
> On Fri, 18 Jun 2010 15:06:51 +0300
> Maxim Levitsky <maximlevitsky@xxxxxxxxx> wrote:
>
> > On Wed, 2010-06-09 at 16:05 -0400, Matthew Garrett wrote:
> > > The aspm code will currently set the configured aspm policy before drivers
> > > have had an opportunity to indicate that their hardware doesn't support it.
> > > Unfortunately, putting some hardware in L0 or L1 can result in the hardware
> > > no longer responding to any requests, even after aspm is disabled. It makes
> > > more sense to leave aspm policy at the BIOS defaults at initial setup time,
> > > reconfiguring it after pci_enable_device() is called. This allows the
> > > driver to blacklist individual devices beforehand.
> > >
> > > Signed-off-by: Matthew Garrett <mjg@xxxxxxxxxx>
> > > ---
> >
> > Hi,
> >
> > I recently discovered that my aspire one wireless troubles (card just
> > dies after a while) are caused by ASPM L0S state.
> > The device (AR5001) seems to have a hardware bug, and it also disables
> > L0S in windows driver.
> >
> > Unfortenuly BIOS (news at 11) enables L0S.
> >
> > Its easy to disable ASPM from driver. It just a matter of calling
> > pci_disable_link_state.
> >
> > However, that depends on CONFIG_PCIEASPM.
> >
> > How about making pci_disable_link_state always available or even better,
> > just make CONFIG_PCIEASPM unconditional?
>
> The former is ok with me. Care to post a patch?
It not that simple at first glance.
This functions uses plenty of code from the aspm.c, therefore care
should be taken to do that properly.

Of course the easy solution is to compile all code in always, and just
disable it by runtime switch (it even exists, aspm_disabled)
Or, another easy solution is to make ath5k depend on CONFIG_PCIEASPM

What do you think?

Best regards,
Maxim Levitsky

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