WSL2-Linux-Kernel/drivers/xen
Konrad Rzeszutek Wilk 80ba77dfbc xen/pciback: Fix proper FLR steps.
When we do FLR and save PCI config we did it in the wrong order.
The end result was that if a PCI device was unbind from
its driver, then binded to xen-pciback, and then back to its
driver we would get:

> lspci -s 04:00.0
04:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
13:42:12 # 4 :~/
> echo "0000:04:00.0" > /sys/bus/pci/drivers/pciback/unbind
> modprobe e1000e
e1000e: Intel(R) PRO/1000 Network Driver - 2.0.0-k
e1000e: Copyright(c) 1999 - 2012 Intel Corporation.
e1000e 0000:04:00.0: Disabling ASPM L0s L1
e1000e 0000:04:00.0: enabling device (0000 -> 0002)
xen: registering gsi 48 triggering 0 polarity 1
Already setup the GSI :48
e1000e 0000:04:00.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
e1000e: probe of 0000:04:00.0 failed with error -2

This fixes it by first saving the PCI configuration space, then
doing the FLR.

Reported-by: Ren, Yongjie <yongjie.ren@intel.com>
Reported-and-Tested-by: Tobias Geiger <tobias.geiger@vido.info>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: stable@vger.kernel.org
2012-09-06 09:22:02 -04:00
..
xen-pciback xen/pciback: Fix proper FLR steps. 2012-09-06 09:22:02 -04:00
xenbus xen/pv-on-hvm kexec: shutdown watches from old kernel 2012-07-19 15:52:02 -04:00
xenfs xen: Add xenbus device driver 2011-12-16 13:29:39 -05:00
Kconfig xen/mce: Add mcelog support for Xen platform 2012-07-19 15:51:36 -04:00
Makefile xen/pcpu: Xen physical cpus online/offline sys interface 2012-07-19 15:51:39 -04:00
acpi.c xen/acpi/sleep: Enable ACPI sleep via the __acpi_os_prepare_sleep 2012-05-07 15:33:18 -04:00
balloon.c xen/balloon: Avoid OOM when requesting highmem 2011-11-16 12:13:43 -05:00
biomerge.c xen: using EXPORT_SYMBOL requires including export.h 2012-01-18 15:37:49 -08:00
cpu_hotplug.c xen/bootup: During bootup suppress XENBUS: Unable to read cpu state 2012-02-03 16:05:30 -05:00
events.c Five bug-fixes: 2012-06-15 17:17:15 -07:00
evtchn.c xen/event: Add reference counting to event channels 2011-11-21 17:14:48 -05:00
features.c
gntalloc.c xen-gntalloc: introduce missing kfree 2012-01-03 13:39:04 -05:00
gntdev.c xen/gntdev: do not set VM_PFNMAP 2012-04-17 13:27:17 -04:00
grant-table.c Features: 2012-05-24 16:02:08 -07:00
manage.c xen/resume: Fix compile warnings. 2012-04-19 15:12:49 -04:00
mcelog.c xen/mce: add .poll method for mcelog device driver 2012-07-19 15:51:41 -04:00
pci.c xen/pci: Check for PCI bridge before using it. 2012-05-30 10:16:35 -04:00
pcpu.c xen/pcpu: Xen physical cpus online/offline sys interface 2012-07-19 15:51:39 -04:00
platform-pci.c Revert "xen PVonHVM: move shared_info to MMIO before kexec" 2012-08-16 13:05:25 -04:00
privcmd.c xen/privcmd: Remove unused support for arch specific privcmp mmap 2011-12-16 13:29:42 -05:00
privcmd.h xen: Add privcmd device driver 2011-12-16 13:29:31 -05:00
swiotlb-xen.c xen: Use correct masking in xen_swiotlb_alloc_coherent. 2012-09-05 10:50:27 -04:00
sys-hypervisor.c xen: constify all instances of "struct attribute_group" 2012-03-14 12:34:19 -04:00
tmem.c frontswap: s/put_page/store/g s/get_page/load 2012-05-15 11:34:08 -04:00
xen-acpi-processor.c xen/acpi: Fix potential memory leak. 2012-07-19 15:51:42 -04:00
xen-balloon.c Features: 2012-03-22 20:16:14 -07:00
xen-selfballoon.c xen: Add selfballoning memory reservation tunable. 2012-05-21 10:52:53 -04:00
xencomm.c