android_kernel_xiaomi_sdm845/drivers/pci
Andrew Patterson 6cdfd995a6 PCI: unconditionally clear AER uncorr status register during cleanup
The current implementation of pci_cleanup_aer_uncorrect_error_status
only clears either fatal or non-fatal error status bits depending
on the state of the I/O channel. This implementation will then often
leave some bits set after PCI error recovery completes.  The uncleared bit
settings will then be falsely reported the next time an AER interrupt is
generated for that hierarchy. An easy way to illustrate this issue is to
use the aer-inject module to simultaneously inject both an uncorrectable
non-fatal and uncorrectable fatal error.  One of the errors will not be
cleared.

This patch resolves this issue by unconditionally clearing all bits in
the AER uncorrectable status register. All settings and corrective action
strategies are saved and determined before
pci_cleanup_aer_uncorrect_error_status is called, so this change should not
affect errory handling functionality.

Signed-off-by: Andrew Patterson <andrew.patterson@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-12-04 16:03:11 -08:00
..
hotplug PCI: ibmphp_hpc: don't release hw sem twice if kthread stops 2009-12-04 15:18:01 -08:00
pcie PCI: unconditionally clear AER uncorr status register during cleanup 2009-12-04 16:03:11 -08:00
.gitignore
access.c PCI: Add pci_bus_set_ops 2009-06-16 14:29:33 -07:00
bus.c PCI AER: support Multiple Error Received and no error source id 2009-06-16 14:30:13 -07:00
dmar.c PCI: use pci_is_pcie() in pci core 2009-11-24 15:25:16 -08:00
hotplug-pci.c PCI: fix section mismatch warning in pci_scan_child_bus 2008-03-04 15:07:03 -08:00
hotplug.c Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
htirq.c Merge branch 'x86/apic' into irq/numa 2009-05-12 12:17:36 +02:00
intel-iommu.c PCI: use pci_is_pcie() in pci core 2009-11-24 15:25:16 -08:00
intr_remapping.c PCI: use pci_is_pcie() in pci core 2009-11-24 15:25:16 -08:00
intr_remapping.h Intel-IOMMU, intr-remap: source-id checking 2009-06-23 22:09:17 +01:00
ioapic.c PCI hotplug: move IOAPIC support from acpiphp to ioapic driver 2009-11-04 13:06:39 -08:00
iov.c PCI: use pci_is_pcie() in pci core 2009-11-24 15:25:16 -08:00
iova.c intel-iommu: Remove superfluous iova_alloc_lock from IOVA code 2009-07-15 08:17:02 +01:00
irq.c PCI: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-07 11:12:23 -08:00
Kconfig PCI: remove pci_find_slot from PCI_LEGACY config description 2009-11-04 13:06:42 -08:00
legacy.c PCI: disable pci_find_device warnings when deprecated pci functions are enabled 2009-09-09 13:29:25 -07:00
Makefile PCI hotplug: move IOAPIC support from acpiphp to ioapic driver 2009-11-04 13:06:39 -08:00
msi.c PCI MSI: Style cleanups 2009-09-09 13:29:35 -07:00
msi.h PCI MSI: shorten PCI_MSIX_ENTRY_* symbol names 2009-06-29 12:15:19 -07:00
pci-acpi.c PCI: use pci_is_pcie() in pci core 2009-11-24 15:25:16 -08:00
pci-driver.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-09-16 07:49:54 -07:00
pci-stub.c PCI: pci-stub: add pci_stub.ids parameter 2009-09-09 13:44:34 -07:00
pci-sysfs.c PCI: show dma_mask bits in /sys 2009-12-04 15:47:50 -08:00
pci.c PCI: read-modify-write the pcie device control register when initiating pcie flr 2009-12-04 15:49:44 -08:00
pci.h PCI: acs p2p upsteram forwarding enabling 2009-11-04 08:47:25 -08:00
probe.c PCI: use pci_pcie_cap() in pci core 2009-11-24 15:25:12 -08:00
proc.c PCI: define PCI resource names in an 'enum' 2009-01-07 11:13:01 -08:00
quirks.c vsprintf: use %pR, %pr instead of %pRt, %pRf 2009-11-04 13:06:41 -08:00
remove.c PCI: eliminate redundant pci_stop_dev() call from pci_destroy_dev() 2009-06-11 12:04:19 -07:00
rom.c PCI: fix rom.c kernel-doc warning 2009-02-13 12:01:56 -08:00
search.c PCI: use pci_is_pcie() in pci core 2009-11-24 15:25:16 -08:00
setup-bus.c PCI: Always set prefetchable base/limit upper32 registers 2009-12-04 15:52:43 -08:00
setup-irq.c PCI: use dev_printk when possible 2008-06-25 16:05:13 -07:00
setup-res.c PCI: improve discovery/configuration messages 2009-11-04 13:06:44 -08:00
slot.c PCI: fix kernel-doc warnings 2009-06-29 12:13:56 -07:00
syscall.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00