mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-11-08 11:45:53 -05:00
Merge "qcacmn: Fix a memory leak in HTC tx bundle packet allocation"
This commit is contained in:
commit
8a20d98c0c
1 changed files with 14 additions and 1 deletions
15
htc/htc.c
15
htc/htc.c
|
|
@ -144,6 +144,8 @@ static void htc_cleanup(HTC_TARGET *target)
|
|||
HTC_PACKET *pPacket;
|
||||
int i;
|
||||
HTC_ENDPOINT *endpoint;
|
||||
HTC_PACKET_QUEUE *pkt_queue;
|
||||
qdf_nbuf_t netbuf;
|
||||
|
||||
if (target->hif_dev != NULL) {
|
||||
hif_detach_htc(target->hif_dev);
|
||||
|
|
@ -158,13 +160,22 @@ static void htc_cleanup(HTC_TARGET *target)
|
|||
qdf_mem_free(pPacket);
|
||||
}
|
||||
|
||||
LOCK_HTC_TX(target);
|
||||
pPacket = target->pBundleFreeList;
|
||||
target->pBundleFreeList = NULL;
|
||||
UNLOCK_HTC_TX(target);
|
||||
while (pPacket) {
|
||||
HTC_PACKET *pPacketTmp = (HTC_PACKET *) pPacket->ListLink.pNext;
|
||||
|
||||
netbuf = GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket);
|
||||
if (netbuf)
|
||||
qdf_nbuf_free(netbuf);
|
||||
pkt_queue = pPacket->pContext;
|
||||
if (pkt_queue)
|
||||
qdf_mem_free(pkt_queue);
|
||||
qdf_mem_free(pPacket);
|
||||
pPacket = pPacketTmp;
|
||||
}
|
||||
|
||||
#ifdef TODO_FIXME
|
||||
while (true) {
|
||||
pPacket = htc_alloc_control_tx_packet(target);
|
||||
|
|
@ -609,7 +620,9 @@ QDF_STATUS htc_wait_target(HTC_HANDLE HTCHandle)
|
|||
|
||||
temp_bundle_packet = rx_bundle_packet;
|
||||
}
|
||||
LOCK_HTC_TX(target);
|
||||
target->pBundleFreeList = temp_bundle_packet;
|
||||
UNLOCK_HTC_TX(target);
|
||||
}
|
||||
|
||||
/* done processing */
|
||||
|
|
|
|||
Loading…
Reference in a new issue