forked from luck/tmp_suning_uos_patched
wireless/libertas/if_cs.c: fix memory leaks
The leak in if_cs_prog_helper() is obvious. It looks a bit as if not freeing "fw" in if_cs_prog_real() was done intentionally, but I'm not seeing why it shouldn't be freed. Reported-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Adrian Bunk <bunk@kernel.org> Acked-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
667d41008e
commit
9a52028e53
|
@ -595,7 +595,7 @@ static int if_cs_prog_helper(struct if_cs_card *card)
|
|||
if (ret < 0) {
|
||||
lbs_pr_err("can't download helper at 0x%x, ret %d\n",
|
||||
sent, ret);
|
||||
goto done;
|
||||
goto err_release;
|
||||
}
|
||||
|
||||
if (count == 0)
|
||||
|
@ -604,9 +604,8 @@ static int if_cs_prog_helper(struct if_cs_card *card)
|
|||
sent += count;
|
||||
}
|
||||
|
||||
err_release:
|
||||
release_firmware(fw);
|
||||
ret = 0;
|
||||
|
||||
done:
|
||||
lbs_deb_leave_args(LBS_DEB_CS, "ret %d", ret);
|
||||
return ret;
|
||||
|
@ -676,14 +675,8 @@ static int if_cs_prog_real(struct if_cs_card *card)
|
|||
}
|
||||
|
||||
ret = if_cs_poll_while_fw_download(card, IF_CS_SCRATCH, 0x5a);
|
||||
if (ret < 0) {
|
||||
if (ret < 0)
|
||||
lbs_pr_err("firmware download failed\n");
|
||||
goto err_release;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
goto done;
|
||||
|
||||
|
||||
err_release:
|
||||
release_firmware(fw);
|
||||
|
|
Loading…
Reference in New Issue
Block a user