Commit 209af450 authored by Alessandro Rubini's avatar Alessandro Rubini

kernel code: bug fixes by Emilio

Fixed a few subtle bugs, as yet unexposed by real use, according to
review by Emilio Cota.
Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
parent 22deacea
......@@ -194,7 +194,6 @@ out:
kfree(fmcs->devarray);
for (i = 0, fmc = fmcs; i < n; i++, fmc++)
fmc->devarray = NULL;
fmc_free_id_info(fmc);
return ret;
}
......@@ -237,8 +236,10 @@ static int fmc_init(void)
int err;
err = device_register(&fmc_bus);
if (err)
if (err) {
put_device(&fmc_bus);
return err;
}
err = bus_register(&fmc_bus_type);
if (err)
device_unregister(&fmc_bus);
......
......@@ -235,8 +235,10 @@ int ff_init(void)
ff->fmc = ff_template_fmc;
ret = device_register(&ff->dev);
if (ret)
if (ret) {
put_device(&ff->dev);
return ret;
}
/* If the user passed "eeprom=" as a parameter, fetch it */
if (ff_eeprom) {
......
......@@ -13,7 +13,7 @@
#include <linux/ipmi-fru.h>
/* The fru parser is both user and kernel capable: it needs alloc */
void *fru_alloc(int size)
void *fru_alloc(size_t size)
{
return kzalloc(size, GFP_KERNEL);
}
......
......@@ -130,6 +130,6 @@ extern char *fru_get_serial_number(struct fru_common_header *header);
extern char *fru_get_part_number(struct fru_common_header *header);
/* This must be defined by the caller of the above functions */
extern void *fru_alloc(int size);
extern void *fru_alloc(size_t size);
#endif /* __LINUX_IMPI_FRU_H__ */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment