The attached patches allow the pciback module to perform a reset whenever a PCI device is: - attached to the pciback module, as so: echo "0000:01.07.0" > /sys/bus/pci/devices/pciback/bind - detached from the pciback module, as so: echo "0000:01.07.0" > /sys/bus/pci/devices/pciback/unbind - and when the guest is done with (internally when the guest is not using the PCI device anymore). I ran in one issue which is that I could not do pci_reset_function call when "bind" or "unbind" were done as the device_lock was held (and pci_reset_function tried to acquire the mutex). The solution was to introduce a new "pci_reset_function": [PATCH 1/5] pci: Introduce __pci_reset_function_locked to be used and then piggyback on that in [PATCH 2/5] xen/pciback: Support pci_reset_function, aka FLR or D3 Also there are two fixes included in this - one where the PCI_DEV_FLAG_ASSIGNED was in the wrong location and the "device has been assigned to other domain" warning that always appeared. More details are in the patches themselves. drivers/pci/pci.c | 25 ++++++++++++++++++++ drivers/xen/xen-pciback/pci_stub.c | 45 +++++++++++++++++++++++++++++++++-- drivers/xen/xen-pciback/pciback.h | 1 + drivers/xen/xen-pciback/xenbus.c | 8 +++--- include/linux/pci.h | 1 + 5 files changed, 73 insertions(+), 7 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html