Re: [PATCH 8/13]: PCI Err: Event delivery utility

From: Benjamin Herrenschmidt
Date: Tue Jun 28 2005 - 21:18:13 EST


On Tue, 2005-06-28 at 18:59 -0500, Linas Vepstas wrote:
> pci-err-8-pci-err-event.patch
>
> [RFC]
>
> PCI Error distribution utility routine. This patch defines
> a utility routine that hasn't yet been discussed much on
> the mailing list; I've made this architecture independent
> with the idea that various architectures may find it handy,
> but its not directly required, or relevant, to the overall
> EEH error recovery mechanism. (It could be buried in
> arch-dependent code or implemented differently.)
>
> The current design has the arch dependent code detect
> a PCI bus error. That code uses this utility to generate
> a detection event. This event is then caught by PCI
> hotplug code, which drives the slot recovery. If the
> affected device drivers have recovery callbacks, these
> are used; all other devices are hotplugged.
>
> There are certainly other (simpler) ways to attach the
> arch-specific error detection code to the hot-plug mediated
> recovery code; this routine is rather left-over from
> earlier email discussions. Should this stay, or not?

Certainly needs to be in a separate .h at least ... Also, you have some
lifetime issues. You probably want to do a get() on pci_dev when you put
it in your struct and put() it after the notifier... Oh wait, you are
doing pci_dev_put() ... but no pci_dev_get() ... The later must be
missing from peh_send_failure_event().

I'd keep that in arch code for now.

Ben.


-
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/