Messages in this thread | | | Date | Thu, 6 Jul 2006 13:50:59 -0500 | Subject | Re: [PATCH] ixgb: add PCI Error recovery callbacks | From | (Linas Vepstas) |
| |
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, it was introduced so that drivers could view the state in an interrupt context. (how this flag is set is platform dependent.)
struct pci_dev { pci_channel_state error_state; };
enum pci_channel_state { /* I/O channel is in normal state */ pci_channel_io_normal,
/* I/O to channel is blocked */ pci_channel_io_frozen,
/* PCI card is dead */ pci_channel_io_perm_failure, };
Unless I get distracted, I'll provide an e1000 patch shortly ?
--linas - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |