[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071022180724.GB4280@austin.ibm.com>
Date: Mon, 22 Oct 2007 13:07:24 -0500
From: linas@...tin.ibm.com (Linas Vepstas)
To: David Miller <davem@...emloft.net>
Cc: mcarlson@...adcom.com, netdev@...r.kernel.org,
linux-pci@...ey.karlin.mff.cuni.cz, mchan@...adcom.com
Subject: Re: [PATCH 5/7] pci: Export the pci_restore_msi_state() function
On Sun, Oct 21, 2007 at 04:21:31PM -0700, David Miller wrote:
> From: "Matt Carlson" <mcarlson@...adcom.com>
> Date: Fri, 19 Oct 2007 14:36:56 -0700
>
> > This patch exports the pci_restore_msi_state() function. This function
> > is needed to restore the MSI state during PCI error recovery.
> >
> > Signed-off-by: Linas Vepstas <linas@...tin.ibm.com>
> > Signed-off-by: Matt Carlson <mcarlson@...adcom.com>
> > Signed-off-by: Michael Chan <mchan@...adcom.com>
>
> I'm not so sure about this.
>
> Perhaps, instead, you should do a pci_msi_disable() and
> pci_msi_enable() in the error detection and recovery sequence.
>
> Or, alternatively, save/restore those MSI registers by hand.
>
> I'm trying to figure out how the E1000 driver handles this correctly,
> but I can't see it just by reading it over quickly.
The e1000 and the ixgb are broken as well ... right now, any
driver that uses msi together with the pci error recovery will
fail to get recovered correctly. There are several distinct bugs;
one is that, msi state is not being restored; and the call to
pci_restore_msi_state() was supposed to aid with that.
I'd rather not use pci_msi_disable(), because that has the
side-effect of enabling legacy interupts; I'm concerned that
this will have the potential for causing havoc of all sorts.
--linas
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists