actually remove dropped patch pci-simplify-stub.patch
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=556
This commit is contained in:
parent
619f54d34a
commit
2484184f10
@ -1,118 +0,0 @@
|
|||||||
commit caba00f00fb18d8ffc388f4fc8b82527ef98d3b0
|
|
||||||
Author: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
Date: Wed Jul 6 14:06:37 2016 -0600
|
|
||||||
|
|
||||||
virpci: simplify virPCIDeviceBindToStub
|
|
||||||
|
|
||||||
Early in virPCIDeviceBindToStub, there is a check to see if the
|
|
||||||
stub is already bound to the device, returning success with no
|
|
||||||
further actions if that is the case.
|
|
||||||
|
|
||||||
The same condition is unnecessarily checked later in the function.
|
|
||||||
Remove the unneeded checks to simplify the logic a bit.
|
|
||||||
|
|
||||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
|
|
||||||
Index: libvirt-2.0.0/src/util/virpci.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-2.0.0.orig/src/util/virpci.c
|
|
||||||
+++ libvirt-2.0.0/src/util/virpci.c
|
|
||||||
@@ -1196,7 +1196,6 @@ static int
|
|
||||||
virPCIDeviceBindToStub(virPCIDevicePtr dev)
|
|
||||||
{
|
|
||||||
int result = -1;
|
|
||||||
- bool reprobe = false;
|
|
||||||
char *stubDriverPath = NULL;
|
|
||||||
char *driverLink = NULL;
|
|
||||||
char *path = NULL; /* reused for different purposes */
|
|
||||||
@@ -1225,10 +1224,16 @@ virPCIDeviceBindToStub(virPCIDevicePtr d
|
|
||||||
/* The device is already bound to the correct driver */
|
|
||||||
VIR_DEBUG("Device %s is already bound to %s",
|
|
||||||
dev->name, stubDriverName);
|
|
||||||
+ dev->unbind_from_stub = true;
|
|
||||||
+ dev->remove_slot = true;
|
|
||||||
result = 0;
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
- reprobe = true;
|
|
||||||
+ /*
|
|
||||||
+ * If the device is bound to a driver that is not the stub, we'll
|
|
||||||
+ * need to reprobe later
|
|
||||||
+ */
|
|
||||||
+ dev->reprobe = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Add the PCI device ID to the stub's dynamic ID table;
|
|
||||||
@@ -1249,51 +1254,34 @@ virPCIDeviceBindToStub(virPCIDevicePtr d
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
- /* check whether the device is bound to pci-stub when we write dev->id to
|
|
||||||
- * ${stubDriver}/new_id.
|
|
||||||
- */
|
|
||||||
- if (virFileLinkPointsTo(driverLink, stubDriverPath)) {
|
|
||||||
- dev->unbind_from_stub = true;
|
|
||||||
- dev->remove_slot = true;
|
|
||||||
- result = 0;
|
|
||||||
+ if (virPCIDeviceUnbind(dev) < 0)
|
|
||||||
goto remove_id;
|
|
||||||
- }
|
|
||||||
|
|
||||||
- if (virPCIDeviceUnbind(dev) < 0)
|
|
||||||
+ /* Xen's pciback.ko wants you to use new_slot first */
|
|
||||||
+ VIR_FREE(path);
|
|
||||||
+ if (!(path = virPCIDriverFile(stubDriverName, "new_slot")))
|
|
||||||
goto remove_id;
|
|
||||||
|
|
||||||
- /* If the device was bound to a driver we'll need to reprobe later */
|
|
||||||
- dev->reprobe = reprobe;
|
|
||||||
+ if (virFileExists(path) && virFileWriteStr(path, dev->name, 0) < 0) {
|
|
||||||
+ virReportSystemError(errno,
|
|
||||||
+ _("Failed to add slot for "
|
|
||||||
+ "PCI device '%s' to %s"),
|
|
||||||
+ dev->name, stubDriverName);
|
|
||||||
+ goto remove_id;
|
|
||||||
+ }
|
|
||||||
+ dev->remove_slot = true;
|
|
||||||
|
|
||||||
- /* If the device isn't already bound to pci-stub, try binding it now.
|
|
||||||
- */
|
|
||||||
- if (!virFileLinkPointsTo(driverLink, stubDriverPath)) {
|
|
||||||
- /* Xen's pciback.ko wants you to use new_slot first */
|
|
||||||
- VIR_FREE(path);
|
|
||||||
- if (!(path = virPCIDriverFile(stubDriverName, "new_slot")))
|
|
||||||
- goto remove_id;
|
|
||||||
-
|
|
||||||
- if (virFileExists(path) && virFileWriteStr(path, dev->name, 0) < 0) {
|
|
||||||
- virReportSystemError(errno,
|
|
||||||
- _("Failed to add slot for "
|
|
||||||
- "PCI device '%s' to %s"),
|
|
||||||
- dev->name, stubDriverName);
|
|
||||||
- goto remove_id;
|
|
||||||
- }
|
|
||||||
- dev->remove_slot = true;
|
|
||||||
+ VIR_FREE(path);
|
|
||||||
+ if (!(path = virPCIDriverFile(stubDriverName, "bind")))
|
|
||||||
+ goto remove_id;
|
|
||||||
|
|
||||||
- VIR_FREE(path);
|
|
||||||
- if (!(path = virPCIDriverFile(stubDriverName, "bind")))
|
|
||||||
- goto remove_id;
|
|
||||||
-
|
|
||||||
- if (virFileWriteStr(path, dev->name, 0) < 0) {
|
|
||||||
- virReportSystemError(errno,
|
|
||||||
- _("Failed to bind PCI device '%s' to %s"),
|
|
||||||
- dev->name, stubDriverName);
|
|
||||||
- goto remove_id;
|
|
||||||
- }
|
|
||||||
- dev->unbind_from_stub = true;
|
|
||||||
+ if (virFileWriteStr(path, dev->name, 0) < 0) {
|
|
||||||
+ virReportSystemError(errno,
|
|
||||||
+ _("Failed to bind PCI device '%s' to %s"),
|
|
||||||
+ dev->name, stubDriverName);
|
|
||||||
+ goto remove_id;
|
|
||||||
}
|
|
||||||
+ dev->unbind_from_stub = true;
|
|
||||||
|
|
||||||
result = 0;
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user