c3c44a4 pci-bridge/i82801b11: clear bridge registers on platform reset

1 file Authored by lersek 5 years ago, Committed by Michael Roth 5 years ago,
    pci-bridge/i82801b11: clear bridge registers on platform reset
    
    The "i82801b11-bridge" device model is a descendant of "base-pci-bridge"
    (TYPE_PCI_BRIDGE). However, unlike other similar devices, such as
    
    - pci-bridge,
    - pcie-pci-bridge,
    - PCIE Root Port,
    - xio3130 switch upstream and downstream ports,
    - dec-21154-p2p-bridge,
    - pbm-bridge,
    - xilinx-pcie-root,
    
    "i82801b11-bridge" does not clear the bridge specific registers at
    platform reset.
    
    This is a problem because devices on "i82801b11-bridge" continue to
    respond to config space cycles after platform reset, when addressed with
    the bus number that was previously programmed into the secondary bus
    number register of "i82801b11-bridge". This error breaks OVMF's search for
    extra (PXB) root buses, for example.
    
    The device class reset method for "i82801b11-bridge" is currently NULL;
    set it directly to pci_bridge_reset(), like the last three bridge models
    in the above listing do.
    
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Marcel Apfelbaum <marcel@redhat.com>
    Cc: qemu-stable@nongnu.org
    Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1541839
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    (cherry picked from commit ed247f40db84c8bd4bb7d10948702cd47cc4d5ae)
    Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
    
        
file modified
+1 -0