lkml.org 
[lkml]   [2006]   [Jul]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 5/5] PCI-Express AER implemetation: pcie_portdrv error handler
From

Hi,

Sorry for a late reply...

On Fri, Jul 14, 2006 at 01:35:38PM +0800, Zhang, Yanmin wrote:
>
> --- linux-2.6.17/drivers/pci/pcie/portdrv_pci.c 2006-06-22 16:27:35.000000000 +0800
> +++ linux-2.6.17_aer/drivers/pci/pcie/portdrv_pci.c 2006-06-22 16:46:29.000000000 +0800
> +
> +static pci_ers_result_t pcie_portdrv_error_detected(struct pci_dev *dev,
> + enum pci_channel_state error)
> +{
> + /* If fatal, save cfg space for possible link reset at upstream */
> + if (error == pci_channel_io_frozen)
> + pcie_portdrv_save_config(dev);

If the channel is frozen, is the config space still readable?
In my case, I had to save config space data early on before
the bus error.

What's more, I discovered that I had to save the pci config
space data before device drivers do thier probe. During the probe,
device drivers will change the config. For example, they'll enable
interrupts and dma. If you turn these on, and then do the probe,
you'll get spectacuar failures.

To be safe, I found the best thing to do was to save the pci
config space state as it was during boot, before the PCI probe
routines ran.

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

\
 
 \ /
  Last update: 2006-07-24 21:41    [W:1.963 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site