Re: [PATCH] PCI: export pci_restore_msi_state()
From: Linas Vepstas <hidden>
Date: 2007-11-09 16:43:05
On Thu, Nov 08, 2007 at 07:21:01PM -0600, Wen Xiong wrote:
Hi Linas, I saw you have submitted several patches to support pci-express network adapters EEH. But looks only this patch fixed something in linux kernel code.
And its an old patch, submitted long ago ... I've resubmitted, because it seems that its the best/most correct thing to do.
Do you mean I can test EEH callback functions in device driver after I apply this patch in the kernel?
Yes, please. Note, however, I was never able to make the pci-e version of the e1000 work. It comes up, generates interrupts, and registeres are readable and writeable. But it behvaes as if the PHY is turned off -- no network traffic goes thorugh. (I tried turning PHY on explicitly; that didn't help). So there is still something wrong somewhere, probably in the e1000 deice driver. I'm guessing the pci-e to pci-x bridge chip on that card is not quite resetting the card completely.
Do you do "pci_save_msi_state" somewhere in the kernel? Or you suggest to do "pci_save_msi_state" and "pci_restore_msi_state" in each device driver?
There is no "save state", the msi state can't be saved. The MSI regs are write-only, and they are controlled by firmware. The restore_state function is the only one you need. --linas