提交 31be7586 编写于 作者: L Linas Vepstas 提交者: Greg Kroah-Hartman

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: NLinas Vepstas <linas@austin.ibm.com>
Cc: John Rose <johnrose@austin.ibm.com>
Signed-off-by: NKristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 fa189159
......@@ -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;
}
......
......@@ -195,7 +195,6 @@ static int setup_pci_slot(struct slot *slot)
}
return 0;
exit_rc:
dealloc_slot_struct(slot);
return -EINVAL;
}
......
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册