diff options
Diffstat (limited to 'drivers/pci/iov.c')
| -rw-r--r-- | drivers/pci/iov.c | 9 | 
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c index 1e88fd427757..4d1f392b05f9 100644 --- a/drivers/pci/iov.c +++ b/drivers/pci/iov.c @@ -186,10 +186,10 @@ int pci_iov_add_virtfn(struct pci_dev *dev, int id)  	sprintf(buf, "virtfn%u", id);  	rc = sysfs_create_link(&dev->dev.kobj, &virtfn->dev.kobj, buf);  	if (rc) -		goto failed2; +		goto failed1;  	rc = sysfs_create_link(&virtfn->dev.kobj, &dev->dev.kobj, "physfn");  	if (rc) -		goto failed3; +		goto failed2;  	kobject_uevent(&virtfn->dev.kobj, KOBJ_CHANGE); @@ -197,11 +197,10 @@ int pci_iov_add_virtfn(struct pci_dev *dev, int id)  	return 0; -failed3: -	sysfs_remove_link(&dev->dev.kobj, buf);  failed2: -	pci_stop_and_remove_bus_device(virtfn); +	sysfs_remove_link(&dev->dev.kobj, buf);  failed1: +	pci_stop_and_remove_bus_device(virtfn);  	pci_dev_put(dev);  failed0:  	virtfn_remove_bus(dev->bus, bus);  |