Skip to content

Commit

Permalink
wireless/libertas/if_cs.c: fix memory leaks
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Adrian Bunk authored and John W. Linville committed Sep 2, 2008
1 parent 667d410 commit 9a52028
Showing 1 changed file with 3 additions and 10 deletions.
13 changes: 3 additions & 10 deletions drivers/net/wireless/libertas/if_cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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;
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 9a52028

Please sign in to comment.