qcacmn: Fix rx packet queue processsing

- Ensure the head and tail pointers are reset after
processing the packets on each vdev
- Ensure the network buffer is null terminated when
processing the null queue

Change-Id: I7bfab46b7fc6054e782f7f1fc09dd56a58e46a4d
CRs-Fixed: 2001835
This commit is contained in:
Dhanashri Atre
2017-02-02 16:28:12 -08:00
committad av qcabuildsw
förälder ca0956bc79
incheckning bda02dc9c2
2 ändrade filer med 14 tillägg och 4 borttagningar

Visa fil

@@ -194,8 +194,6 @@ dp_rx_process(struct dp_soc *soc, void *hal_ring, uint32_t quota)
void *ring_desc;
struct dp_rx_desc *rx_desc;
qdf_nbuf_t nbuf;
qdf_nbuf_t deliver_list_head = NULL;
qdf_nbuf_t deliver_list_tail = NULL;
union dp_rx_desc_list_elem_t *head = NULL;
union dp_rx_desc_list_elem_t *tail = NULL;
uint32_t rx_bufs_used = 0, rx_buf_cookie, l2_hdr_offset;
@@ -311,6 +309,8 @@ done:
}
TAILQ_FOREACH(vdev, &pdev->vdev_list, vdev_list_elem) {
qdf_nbuf_t deliver_list_head = NULL;
qdf_nbuf_t deliver_list_tail = NULL;
while ((nbuf = qdf_nbuf_queue_remove(&vdev->rxq))) {
rx_tlv_hdr = qdf_nbuf_data(nbuf);