Subject: Re: [PATCH] ixgb: add PCI Error recovery callbacks

From: [email-masked] (Linas Vepstas)
Date: Thu, 6 Jul 2006 16:52:34 -0500

On Thu, Jul 06, 2006 at 01:50:59PM -0500, Linas Vepstas wrote:
> On Thu, Jul 06, 2006 at 11:01:35AM -0700, Auke Kok wrote:
> > Linas Vepstas wrote:
> > >
> > >Perhaps the right fix is to figure out what parts of the driver do i/o
> > >during shutdown, and then add a line "if(wedged) skip i/o;" to those
> > >places?
> > 
> > that would be relatively simple if we can check a flag (?) somewhere that 
> > signifies that we've encountered a pci error. We basically only need to 
> > skip out after e1000_reset and bypass e1000_irq_disable in e1000_down() 
> > then.
> > 
> > Does the pci error recovery code give us such a flag?
> 
> Yes, 

[...]

> Unless I get distracted, I'll provide an e1000 patch shortly ?

I sat down to do this and realized it was a lame idea. If a given
platform cannot tolerate PCI I/O while a PCI channel is hung, then
the plaform should stub out readb()/read()/pci_read_config_word()/etc.
as needed to prevent I/O during the critical stage.

Otherwise, one is trying to chase down all the locations in the driver
that may or may not require I/O to be disabled, which is a hit-or-miss,
mistake-prone operation.

--linas