diff options
author | Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> | 2011-10-03 17:28:25 +0530 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2011-11-11 12:50:54 +0200 |
commit | b8d5d5ff0305f07061f672c91f63479433451af5 (patch) | |
tree | d23d0cadb8fef657e5b00c0ed096e71dd00e2ade /drivers/net/wireless/ath/ath6kl/htc.c | |
parent | 4159cc935a7ed119e5f824db06defaa34d992b56 (diff) |
ath6kl: Fix htc_packet leak in ath6kl_htc_rx_fetch()
It is found during the code review. As the leak would happen only
in failure case, the imapct is not easily visible.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/htc.c')
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/htc.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/htc.c b/drivers/net/wireless/ath/ath6kl/htc.c index 7bc988438ea..4a03dacd920 100644 --- a/drivers/net/wireless/ath/ath6kl/htc.c +++ b/drivers/net/wireless/ath/ath6kl/htc.c @@ -1715,12 +1715,10 @@ static int ath6kl_htc_rx_fetch(struct htc_target *target, packet = list_first_entry(rx_pktq, struct htc_packet, list); - list_del(&packet->list); - /* fully synchronous */ packet->completion = NULL; - if (!list_empty(rx_pktq)) + if (!list_is_singular(rx_pktq)) /* * look_aheads in all packet * except the last one in the @@ -1735,7 +1733,7 @@ static int ath6kl_htc_rx_fetch(struct htc_target *target, if (status) return status; - list_add_tail(&packet->list, comp_pktq); + list_move_tail(&packet->list, comp_pktq); } } |