mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
qcacmn: Fix the TX packet drop after doing the TX bundle
qcacld-2.0 to qcacmn propagation The driver will drop the TX packet if remaining depth of the sending queue is less than 2. This will casue the memory leak, credits missing and TCP stall issue when running the iperf test. The fix is to add back current packet before return, which just be dequeued. Change-Id: I9e0c69c16e9562afd627d0fc222a9fbd475c468c CRs-Fixed: 2056195
This commit is contained in:
parent
2c6845fe26
commit
60c2c9836e
1 changed files with 6 additions and 1 deletions
|
|
@ -501,8 +501,12 @@ static void htc_issue_packets_bundle(HTC_TARGET *target,
|
|||
htc_send_bundled_netbuf(target, pEndpoint,
|
||||
pBundleBuffer - last_credit_pad,
|
||||
pPacketTx);
|
||||
if (HTC_PACKET_QUEUE_DEPTH(pPktQueue) <
|
||||
/* One packet has been dequeued from sending queue when enter
|
||||
* this loop, so need to add 1 back for this checking.
|
||||
*/
|
||||
if ((HTC_PACKET_QUEUE_DEPTH(pPktQueue) + 1) <
|
||||
HTC_MIN_MSG_PER_BUNDLE) {
|
||||
HTC_PACKET_ENQUEUE_TO_HEAD(pPktQueue, pPacket);
|
||||
return;
|
||||
}
|
||||
bundlesSpaceRemaining =
|
||||
|
|
@ -510,6 +514,7 @@ static void htc_issue_packets_bundle(HTC_TARGET *target,
|
|||
pEndpoint->TxCreditSize;
|
||||
pPacketTx = allocate_htc_bundle_packet(target);
|
||||
if (!pPacketTx) {
|
||||
HTC_PACKET_ENQUEUE_TO_HEAD(pPktQueue, pPacket);
|
||||
/* good time to panic */
|
||||
AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
|
||||
("allocate_htc_bundle_packet failed\n"));
|
||||
|
|
|
|||
Loading…
Reference in a new issue