Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 31be7586 authored by Linas Vepstas's avatar Linas Vepstas Committed by Greg Kroah-Hartman
Browse files

PCI: rpaphp: match up alloc and free in same routine



The routine that called an alloc should be the same routine that 
calles the mathcing free, if anything in the middle failed.

Signed-off-by: default avatarLinas Vepstas <linas@austin.ibm.com>
Cc: John Rose <johnrose@austin.ibm.com>
Signed-off-by: default avatarKristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent fa189159
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -321,10 +321,15 @@ int rpaphp_add_slot(struct device_node *dn)
				indexes[i + 1], name, type);

		retval = rpaphp_register_pci_slot(slot);
		if (retval)
			dealloc_slot_struct(slot);

		name += strlen(name) + 1;
		type += strlen(type) + 1;
	}
	dbg("%s - Exit: rc[%d]\n", __FUNCTION__, retval);

	/* XXX FIXME: reports a failure only if last entry in loop failed */
	return retval;
}

+0 −1
Original line number Diff line number Diff line
@@ -195,7 +195,6 @@ static int setup_pci_slot(struct slot *slot)
	}
	return 0;
exit_rc:
	dealloc_slot_struct(slot);
	return -EINVAL;
}

+0 −1
Original line number Diff line number Diff line
@@ -184,7 +184,6 @@ int rpaphp_register_slot(struct slot *slot)
sysfs_fail:
	pci_hp_deregister(php_slot);
register_fail:
	rpaphp_release_slot(php_slot);
	return retval;
}