Re: restore missing PCI registers after reset

From: Greg KH
Date: Wed Jul 26 2006 - 12:22:48 EST


On Wed, Jul 26, 2006 at 01:29:44PM +0300, Michael S. Tsirkin wrote:
> Quoting r. Greg KH <gregkh@xxxxxxx>:
> > 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@xxxxxxxxxxxxxx>
> > Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
>
> 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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/