Commit Graph

8 Commits

Author SHA1 Message Date
Aditya Sathish
ded018e406 qcacmn: Clean up dp component prints
Clean up datapath component prints by correcting trace levels for
regularly occurring prints and removing newlines from converged
print APIs since qdf_trace_msh appends them by default.

Change-Id: Ie8fe319fcb737720f7400a165e134b6a18bd15b5
CRs-Fixed: 2243843
2018-08-10 18:11:21 -07:00
Karunakar Dasineni
31b98d4cd7 qcacmn: Fix memory leak during REO cmd ring drain
Fix possible REO descriptor leak while draining REO
command ring by invoking command status handlers with
special error code.

Change-Id: I2fe5f60489b57a4b0a287e67e5610112f7292677
2018-03-02 19:34:25 -08:00
Karunakar Dasineni
25f1b0434b qcacmn: Change REO queue descriptor delete sequence
Change REO queue descriptor delete sequence to flush base and
extension descriptors separately, since flushing base descriptor
alone results in extensions flushed by HW much later,
sometimes after freeing descriptor memory, causing use-after-free
corruptions. Also increase REO command and status ring sizes
since number of commands per RX TID flush has increased with
this change.
Fix interrupt batch count setting for non pkt/buffer rings,
which includes REO status ring.
Also remove callbacks during reo command list destroy,
done as part of SOC detach. This should not be done since
callbacks will access stale data structures that are freed
as part of PDEV/SOC detach.

Change-Id: I4337454d3f53cc0b3c3014ef07cc2ba13cfebb18
CRs-Fixed: 2175989
2018-02-17 09:42:22 -08:00
Lin Bai
8dc369bdba qcacmn: Fix memory leak on reo_cmd_list
When removing entries on reo_cmd_list, TAILQ_FOREACH used
instead of TAILQ_FOREACH_SAFE, that will only remove the first entry
and leak the others.

CRs-Fixed: 2184882
Change-Id: Ica2677925af34e62f98f4a8d2044c9c3feb69ba9
2018-02-09 07:45:40 -08:00
Manoj Ekbote
2a372d279b qcacmn: Flush the REO cmd list during detach
When suspend is done, and if there are any outstanding
REO commands to HW, there could be a leak from allocated
buffers. FLush the buffer list during detach.

Change-Id: I62a7b612c401a36f5098163e017c3b42d7d3750d
2017-07-19 16:23:19 -07:00
Karunakar Dasineni
a8c779b2d1 qcacmn: Fix REO command issues
Fixes for issues seen while sending multiple REO commands:
- Fix bug in error return from hal_reo API.
- REO status for updates done as part of peer deletion are sometimes
  received after peer is deleted, causing crash due to invalid access
  in REO command status handler. Fixed by using temporary copies for
  rx_tid structures.
- Zero out REO command descriptors before setting up new commands.

Change-Id: I63409eb74fd91a21e0264fb2b3a62efb3a91bfe6
2017-02-01 11:47:50 -08:00
Houston Hoffman
4a033e4afe qcacmn: Fix wmissing-prototype errors (dp_reo.c)
include dp_internal.h for its prototypes.

Change-Id: I0992d2b14d559a0e641ded52cc74e8fe2434c5e6
CRs-Fixed: 1115552
2017-01-24 20:15:50 -08:00
Manoj Ekbote
4f0c6b1732 qcacmn: REO command access APIs
Implementation of APIs for Lithium REO command/status rings

Change-Id: Ib428dd995bd597f7fbfbfc458dade6e7e258000c
2017-01-18 20:05:28 -08:00