Re: restore missing PCI registers after reset

Greg KH
2006-07-26T16:24:53Z

On Wed, Jul 26, 2006 at 01:29:44PM +0300, Michael S. Tsirkin wrote:
> Quoting r. Greg KH <gregkh@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@mellanox.co.il>
> > Signed-off-by: Chris Wright <chrisw@sous-sol.org>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@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