staging: rtl8188eu: core: Improve cleanup code
The code is restructured such that kfree(efuseTbl) is not called if the allocation of efuseTbl and such that kfree(eFuseWord) is not called if the allocation of eFuseWord has failed. To accomplish this a new label eFuseWord_failed has been added. Suggested by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Tapasweni Pathak <tapaswenipathak@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a055b3cbb7
commit
3cfab18ce5
|
@ -106,13 +106,13 @@ efuse_phymap_to_logical(u8 *phymap, u16 _offset, u16 _size_byte, u8 *pbuf)
|
||||||
efuseTbl = kzalloc(EFUSE_MAP_LEN_88E, GFP_KERNEL);
|
efuseTbl = kzalloc(EFUSE_MAP_LEN_88E, GFP_KERNEL);
|
||||||
if (efuseTbl == NULL) {
|
if (efuseTbl == NULL) {
|
||||||
DBG_88E("%s: alloc efuseTbl fail!\n", __func__);
|
DBG_88E("%s: alloc efuseTbl fail!\n", __func__);
|
||||||
goto exit;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
eFuseWord = (u16 **)rtw_malloc2d(EFUSE_MAX_SECTION_88E, EFUSE_MAX_WORD_UNIT, sizeof(u16));
|
eFuseWord = (u16 **)rtw_malloc2d(EFUSE_MAX_SECTION_88E, EFUSE_MAX_WORD_UNIT, sizeof(u16));
|
||||||
if (eFuseWord == NULL) {
|
if (eFuseWord == NULL) {
|
||||||
DBG_88E("%s: alloc eFuseWord fail!\n", __func__);
|
DBG_88E("%s: alloc eFuseWord fail!\n", __func__);
|
||||||
goto exit;
|
goto eFuseWord_failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 0. Refresh efuse init map as all oxFF. */
|
/* 0. Refresh efuse init map as all oxFF. */
|
||||||
|
@ -210,10 +210,10 @@ efuse_phymap_to_logical(u8 *phymap, u16 _offset, u16 _size_byte, u8 *pbuf)
|
||||||
/* */
|
/* */
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
kfree(efuseTbl);
|
kfree(eFuseWord);
|
||||||
|
|
||||||
if (eFuseWord)
|
eFuseWord_failed:
|
||||||
kfree(eFuseWord);
|
kfree(efuseTbl);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void efuse_read_phymap_from_txpktbuf(
|
static void efuse_read_phymap_from_txpktbuf(
|
||||||
|
|
Loading…
Reference in a new issue