Re: [PATCH 1/13]: PCI Err: pci.h header file changes

From: Benjamin Herrenschmidt
Date: Tue Jun 28 2005 - 20:57:44 EST


On Tue, 2005-06-28 at 18:58 -0500, Linas Vepstas wrote:
> +
> +/* PCI bus error event callbacks */
> +struct pci_error_handlers
> +{
> + enum pci_channel_state error_state; /* current error state */
> + int (*error_detected)(struct pci_dev *dev, enum pci_channel_state error);
> + int (*mmio_enabled)(struct pci_dev *dev); /* MMIO has been reanbled, but not DMA */
> + int (*link_reset)(struct pci_dev *dev); /* PCI Express link has been reset */
> + int (*slot_reset)(struct pci_dev *dev); /* PCI slot has been reset */
> + void (*resume)(struct pci_dev *dev); /* Device driver may resume normal operations */
> +};

The state variable shouldn't be in that structure. As Greg pointed, we
should have a pointer to that structure in pci_driver, not a copy, and
the error state should be in pci_dev. (With you current code, it's per
driver which is broken anyway).

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/