[openib-general] restore missing PCI registers after reset

Greg KH gregkh at suse.de
Wed Jul 26 09:20:07 PDT 2006


On Wed, Jul 26, 2006 at 01:29:44PM +0300, Michael S. Tsirkin wrote:
> Quoting r. Greg KH <gregkh at suse.de>:
> > Subject: [patch 02/45] IB/mthca: restore missing PCI registers after reset
> > ------------------
> > mthca does not restore the following PCI-X/PCI Express registers after reset:
> >   PCI-X device: PCI-X command register
> >   PCI-X bridge: upstream and downstream split transaction registers
> >   PCI Express : PCI Express device control and link control registers
> > 
> > This causes instability and/or bad performance on systems where one of
> > these registers is set to a non-default value by BIOS.
> > 
> > Signed-off-by: Michael S. Tsirkin <mst at mellanox.co.il>
> > Signed-off-by: Chris Wright <chrisw at sous-sol.org>
> > Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
> 
> By the way, Greg, this code is completely generic, and the same seems to apply
> to all PCI-X/PCI-Express devices - should not pci_restore_state and
> friends really know about these registers, as well?
> 
> What do you think?

I think pci_restore_state() already restores the msi and msix state,
take a look at the latest kernel version :)

thanks,

greg k-h




More information about the general mailing list