svn commit: r304246 - head/sys/dev/pci
Alan Somers
asomers at freebsd.org
Tue Aug 30 16:04:01 UTC 2016
On Tue, Aug 16, 2016 at 7:24 PM, Eric van Gyzen <vangyzen at freebsd.org> wrote:
> Author: vangyzen
> Date: Wed Aug 17 01:24:34 2016
> New Revision: 304246
> URL: https://svnweb.freebsd.org/changeset/base/304246
>
> Log:
> PCIe HotPlug: Detect bridges that are not really HotPlug capable
>
> Some devices report that they have an MRL when they actually
> do not. Since they always report that the MRL is open, child
> devices would be ignored. Try to detect these devices and
> ignore their claim of HotPlug support. Specifically,
> if there is an open MRL but the Data Link Layer is active,
> the MRL is not real.
>
> Revert r303645 to re-enable HotPlug support for slots with
> power controllers, since it works correctly in my testing.
>
> Start the DLL state-change timer if Presence /or/ MRL state changes,
> along with other conditions. Previously, we started the timer iff
> Presence changed. If there is an MRL, it must be closed for power
> to be turned on, so Presence is unlikely to change on an MRL-close event.
>
> Add a printf() of interesting registers on HotPlug interrupts and
> commands (one from erj@). These were very useful for debugging.
> Guard them with bootverbose, since they're spam in normal operation.
>
> In collaboration with: jhb
> Reviewed by: jhb
> MFC after: 1 day
> Relnotes: yes (re-enable HotPlug support for slots with power controllers)
> Sponsored by: Dell Inc.
> Differential Revision: https://reviews.freebsd.org/D7509
>
> Modified:
> head/sys/dev/pci/pci_pci.c
>
I suspect that this has caused a regression for a Dell CS23-SH. It
worked on stable/11 at r303879 but in 11.0 RC2 it hangs on boot. See
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211699 .
More information about the svn-src-head
mailing list