qcacmn: Don't encapsulate packets in htc_send_pkt

Avoid leaking pointers to freed stack memory by not enqueing packets
onto a stack local queue in htc_send_pkt
In particular, the packet was not being removed from the stack queue
when a dma map error occurs.

Change-Id: I4519a302b3d6cc19f52e8cefa71dbd750ede0a0b
CRs-Fixed: 2119792
This commit is contained in:
Houston Hoffman
2017-10-06 14:44:13 -07:00
committed by snandini
szülő ae1a370d48
commit b899cf8b8e
2 fájl változott, egészen pontosan 47 új sor hozzáadva és 73 régi sor törölve

Fájl megtekintése

@@ -625,25 +625,6 @@ bool htc_get_endpoint_statistics(HTC_HANDLE HTCHandle,
*/
void htc_unblock_recv(HTC_HANDLE HTCHandle);
/**
* htc_send_pkts_multiple - Send a series of HTC packets
* @HTCHandle - HTC handle
* @pPktQueue - local queue holding packets to send
*
* Caller must initialize each packet using SET_HTC_PACKET_INFO_TX()
* macro. The queue must only contain packets directed at the same
* endpoint. Caller supplies a pointer to an HTC_PACKET_QUEUE structure
* holding the TX packets in FIFO order. This API will remove the
* packets from the pkt queue and place them into the HTC Tx Queue
* and bundle messages where possible.
* The caller may allocate the pkt queue on the stack to hold the pkts.
* This interface is fully asynchronous. On error, htc_send_pkts will
* call the registered Endpoint callback to cleanup the packet.
* Return: QDF_STATUS_SUCCESS
*/
QDF_STATUS htc_send_pkts_multiple(HTC_HANDLE HTCHandle,
HTC_PACKET_QUEUE *pPktQueue);
/**
* htc_add_receive_pkt_multiple - Add multiple receive packets to HTC
* @HTCHandle - HTC handle