Re: PCI runtime PM issue on NEC xHCI host

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 1, 2011 at 7:28 AM, Sarah Sharp <sarah.a.sharp@xxxxxxxxx> wrote:
>
> Can you try the attached patch and see if it helps your issues with
> enabling runtime PM for the NEC USB 3.0 host controller?  You may have
> to increase the timeout for your system.

Will try.

HOWEVER.

I think the patch is wrong even if it works. Matthew's suggestion
sounds much better, but the *real* problem seems to be that the PCI
"probe the device if PME is set" logic is broken, and does
"resume+suspend" back-to-back - resulting in you needing to add the
delay to your resume function.

Doing back-to-back "enable/disable" things like that is simply wrong
in general.  It's wrong for the same reason that it is wrong to do
"sti ; nop ; cli" on a CPU - we've had that bug too, where we wanted
to enable interrupts, but left the window so small that real
microarchitectures never actually got them.

I think that the PCI "poll for PME" logic should just resume the
device - and *not* suspend it again. Maybe it can suspend it next time
around when it polls, if PME has been cleared. That should be (a) sane
and (b) obviate any need for some random delay in some random driver.

Jesse?

That said, Matthew's suggestion sounds like a good idea regardless.

                               Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux