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: Linas Vepstas <linas@austin.ibm.com>
Cc: John Rose <johnrose@austin.ibm.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Linas Vepstas 2007-04-13 15:34:09 -07:00 коммит произвёл Greg Kroah-Hartman
Родитель fa1891596c
Коммит 31be7586d1
3 изменённых файлов: 5 добавлений и 2 удалений

Просмотреть файл

@ -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;
}