Commit Graph

246 Commits

Author SHA1 Message Date
Yun Park
196641d7b9 qcacld-3.0: Fix Datapath kernel checkpatch warnings in wdi_event.h
Fix Datapath kernel checkpatch warnings in wdi_event.h

Change-Id: I15295af3c6711b5b477739ec5741ba2b4e36b6d3
CRs-Fixed: 2032874
2017-06-14 08:24:59 -07:00
Yun Park
cb0bb18ba3 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_tx_desc.h
Fix Datapath kernel checkpatch warnings in ol_tx_desc.h

Change-Id: I00647231116da840dd3e49e54fee6c1c5826982d
CRs-Fixed: 2032874
2017-06-14 08:24:57 -07:00
Yun Park
d79331a15f qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_tx_queue.h
Fix Datapath kernel checkpatch warnings in ol_tx_queue.h

Change-Id: I2b44744e7021b877554dd08d9f5a01e611ff457d
CRs-Fixed: 2032874
2017-06-14 08:24:55 -07:00
Yun Park
89f62d6c3a qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_txrx_encap.c
Fix Datapath kernel checkpatch warnings in ol_txrx_encap.c

Change-Id: Ib1af9f38ab4fb13fa11b1fcc8c21d1b6bb8a614d
CRs-Fixed: 2032874
2017-06-14 08:24:54 -07:00
Yun Park
b539ea38bf qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_rx_pn.c
Fix Datapath kernel checkpatch warnings in ol_rx_pn.c

Change-Id: I68d52e0dfcf2521b34e4a396528b9bfb8a0058fb
CRs-Fixed: 2032874
2017-06-14 08:24:52 -07:00
Yun Park
63018127e4 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_rx_defrag.c
Fix Datapath kernel checkpatch warnings in ol_rx_defrag.c

Change-Id: Iacf91e53cedf7908daa4d86525acc4d4f80969b0
CRs-Fixed: 2032874
2017-06-14 08:24:51 -07:00
Yun Park
5cc476218b qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_rx_defrag.h
Fix Datapath kernel checkpatch warnings in ol_rx_defrag.h.

Change-Id: Iea74ad576793b34fbf8bbdbafa9b2f831b1f108d
CRs-Fixed: 2032874
2017-06-14 08:24:48 -07:00
Yun Park
07be5536d0 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_rx_reorder_timeout.h
Fix Datapath kernel checkpatch warnings in ol_rx_reorder_timeout.h

Change-Id: I878b51abc716768e9c52ab58b4e0387c6544f368
CRs-Fixed: 2032874
2017-06-14 08:24:47 -07:00
Yun Park
42e0bef5fe qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_rx_reorder_timeout.c
Fix Datapath kernel checkpatch warnings in ol_rx_reorder_timeout.c

Change-Id: Ia8fc0a14b34876eb648d1c22a0e96e733cc317c4
CRs-Fixed: 2032874
2017-06-14 08:24:45 -07:00
Yun Park
3453282718 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_tx.c
Fix Datapath kernel checkpatch warnings in ol_tx.c

Change-Id: I538bf59ab717dfac6cd5d88273dc938b1f76b6d2
CRs-Fixed: 2032874
2017-06-14 08:24:44 -07:00
Yun Park
4afce45d11 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_tx_desc.c
Fix Datapath kernel checkpatch warnings in ol_tx_desc.c

Change-Id: Iec012ad960057d27ccf063ff35607fecefe74cc3
CRs-Fixed: 2032874
2017-06-14 08:24:42 -07:00
Yun Park
d541465b3b qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_tx_send.h
Fix Datapath kernel checkpatch warnings in ol_tx_send.h

Change-Id: I4a4abea0913eaba7bab8b50faa6330f930f1981a
CRs-Fixed: 2032874
2017-06-14 08:24:41 -07:00
Yun Park
57b82634ee qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_tx_sched.h
Fix Datapath kernel checkpatch warnings in ol_tx_sched.h

Change-Id: I123d2197294be6ae19174a4a40d02dd8047091e1
CRs-Fixed: 2032874
2017-06-14 08:24:39 -07:00
Yun Park
d1b045edcf qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_cfg.c
Fix Datapath kernel checkpatch warnings in ol_cfg.c

Change-Id: I42f9d34fb38ec1f990988d434965673401236ef4
CRs-Fixed: 2032874
2017-06-14 08:24:38 -07:00
Yun Park
1edc871c44 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_rx_fwd.c
Fix Datapath kernel checkpatch warnings in ol_rx_fwd.c

Change-Id: Iaf14e45dac4fd3d7293379798976162d92ae58fb
CRs-Fixed: 2032874
2017-06-14 08:24:36 -07:00
Yun Park
04097e8e92 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_tx_classify.c
Fix Datapath kernel checkpatch warnings in ol_tx_classify.c

Change-Id: Ic409ee871bff01669c6f042e44c6d71ce6e63a65
CRs-Fixed: 2032874
2017-06-14 08:24:35 -07:00
Yun Park
202403b5db qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_tx_sched.c
Fix Datapath kernel checkpatch warnings in ol_tx_sched.c

Change-Id: I1ea7dd958cee18b00bfee7dbac962fcd7cbf3e06
CRs-Fixed: 2032874
2017-06-14 08:24:33 -07:00
Yun Park
e459ea9fe5 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_txrx_event.c
Fix Datapath kernel checkpatch warnings in ol_txrx_event.c

Change-Id: Id116f007d12eebf8e207bc1ff89de8d3e27ec65c
CRs-Fixed: 2032874
2017-06-14 08:24:32 -07:00
Yun Park
28390e3ad5 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_rx_reorder.c
Fix Datapath kernel checkpatch warnings in ol_rx_reorder.c

Change-Id: I61d4486c56cd1a5c53566d5c40bfe35da6eba598
CRs-Fixed: 2032874
2017-06-14 08:24:30 -07:00
Yun Park
719aaea2ad qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_tx.h
Fix Datapath kernel checkpatch warnings in ol_tx.h

Change-Id: I187da81eb6edbcbede2bf6600d24002a04e610a4
CRs-Fixed: 2032874
2017-06-14 08:24:29 -07:00
Yun Park
502780fdb4 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_rx_pn.h
Fix Datapath kernel checkpatch warnings in ol_rx_pn.h

Change-Id: Ic7edeb53ffed6672ad0bf8aedb34ce7371fc450a
CRs-Fixed: 2032874
2017-06-14 08:24:27 -07:00
Yun Park
29747c3af0 qcacld-3.0: Fix Datapath kernel checkpatch warnings in ol_txrx_flow_control.c
Fix Datapath kernel checkpatch warnings in ol_txrx_flow_control.c

Change-Id: I240c2faf402fd0a2da51454598c041772c6ff2ab
CRs-Fixed: 2032874
2017-06-14 08:24:25 -07:00
Himanshu Agarwal
7b54106e8f qcacld-3.0: Reduce log level of some prints in ol_tx_data()
Reduce log level of some prints in ol_tx_data() from WARN
to DEBUG.

Change-Id: I1a8d3fb5e1f99be6f243c9287b814373d6b121c0
CRs-Fixed: 2052590
2017-06-14 00:58:36 -07:00
Sandeep Puligilla
aa61e43ade qcacld-3.0: Initiate self recovery in unmap timeout handler
Initiate self recovery when firmware failed to send the unmap
event within unmap timeout OL_TXRX_PEER_UNMAP_TIMEOUT value.

Change-Id: I053e34682cb610cb258c7dabdb3f84a4b59525f1
CRs-Fixed: 2023387
2017-06-14 00:20:48 -07:00
Himanshu Agarwal
5f5e16692d qcacld-3.0: Fix buf replenish logic and handle error pkts
Fix replenishing logic by taking care of fragments as well
in monitor mode. Also drop the packets with mpdu_length_err
bit set in rx attention desc and don't send those packets to
upper layers.

Change-Id: Iaeeb0e40e4988ca5a2d4c5e7c98ed3f82dfca533
CRs-Fixed: 2037633
2017-06-10 23:30:56 -07:00
Dustin Brown
7ff24dd43c qcacld-3.0: Use modified datapath bus suspend callbacks
A recent datapath bus suspend/resume change modified the API for the
corresponding callbacks. Update callsites to use the new APIs.

Change-Id: I8efc62ecab311e5ded3a393c11a436ce9204e72d
CRs-Fixed: 2047509
2017-06-08 13:47:01 -07:00
Venkata Sharath Chandra Manchala
0b9fc63dd1 qcacld-3.0: Support for DPTRACE
1. Add an extra parameter pdev id to
   qdf_trace signatures to avoid compilation break.
2. This variable allows to collect records per pdev
   for Lithium based chipsets.
3. Set this variable to a default value QDF_TRACE_DEFAULT_PDEV_ID
   for older chipsets.

Change-Id: I2f4c2e3525ac0d1d53f1af3db7e43acadf6ab835
CRs-Fixed: 2049412
2017-06-05 22:52:39 -07:00
hqu
1a44d38c89 qcacld-3.0: Fix watchdog bark issue when do traffic on HL card
When data traffic is running on HL card, it will hit watchdog
bark issue. It's caused by wrong pointer usage in ol_tx_queue.c.

Add fix to sync with qcacld-2.0.

Change-Id: I7869ef86839e69e515ccd70795b3909abc09d46c
CRs-Fixed: 2053632
2017-06-05 17:23:51 -07:00
Manjunathappa Prakash
4a7b1dc764 qcacld-3.0: revert back ol_rx_add_mpdu_to_list to macro
Changes done to head pointer in ol_rx_add_mpdu_to_list() is not
returned back to caller as arguments are sent as pass by value

Change-Id: Ie8c98af2ea4e03b0678df243aa0c832165494168
CRs-Fixed: 2046362
2017-06-02 17:25:15 -07:00
Manjunathappa Prakash
2754f65563 qcacld-3.0: Fix nbuf tracking in ol_rx_fwd_check(), ol_rx_defrag_decap_recombine()
In ol_rx_fwd_check, do not remove nbuf Rx packet in case intra-bss
forwarded traffic. Regular Tx completion will take care to free the nbuf
and its tracking.

In ol_rx_defrag_decap_recombine(), it is callers responsibilty to free the
source nbuf if concatinate succeeds.

Change-Id: Iaf83524924e312bf819483de38603241f45170a5
CRs-Fixed: 2047377
2017-06-02 14:47:41 -07:00
Himanshu Agarwal
8e89ce70f0 qcacld-3.0: Record ol rx indication events
Record ol rx indication events in a global ol rx indication record
buffer to have history of msdus received, no. of buffers replenished,
etc. in rx indication messages.

Change-Id: I96cf27a209c81208c6f6566b5e57116b2cf233e8
CRs-Fixed: 2012485
2017-06-01 07:21:48 -07:00
Dhanashri Atre
1a6a4ce139 qcacld-3.0: Modify legacy LRO implementation to use QDF
Modify the legacy LRO implementation which is in HDD to
use the implementation in QDF instead. This is to avoid
code duplication and to unify the LRO implementations for
Napier and Helium.

Change-Id: Ie9d3bb6d3dcda5a7d1d5fda6e7cbdef92be30461
CRs-Fixed: 2042812
2017-05-26 16:11:27 -07:00
Manjunathappa Prakash
bab70f024f qcacld-3.0: Reduce failure log level of OL_TX_SEND
Reduce the excessive failure logging of OL_TX_SEND. Make it as debug log
so that it will not hog the console. OL layer tx flow control stats will
catch the dropped packets.

Change-Id: I57feee9b4eeb7bf6c6c0c239c2a30041936fa758
CRs-Fixed: 2047953
2017-05-19 14:50:38 -07:00
Yun Park
ff5da56d07 qcacld-3.0: Return false when vdev and pool is NULL in fwd_thresh_check
vdev and pool could be NULL during processing the forwarding packets
processed during the driver deinit.
Add a code to return false if pool is NULL in ol_txrx_fwd_desc_thresh_
check(), then the caller will discard the packet without any further
processing.
Also return false when vdev is NULL.

Change-Id: I45afcbe0e8b953bd1be7b3f1f5315f35879edec5
CRs-Fixed: 1112619
2017-05-01 13:06:39 -07:00
Orhan K AKYILDIZ
e062f35889 qcacld-3.0: Add debug for TSO seg double-free
Add TSO segment debug code, in a featurized way, so that
when disabled it will tolerate redundant returns to the internal
pool and when enabled will check sanity on free, and record a
history of last 16 actions on the segment in the object.

Goes with the corresponding cmn component counterpart.

Change-Id: Ifab52fc2032da4d53b708b3c6716d5270c0690c1
CRs-Fixed: 2031485
2017-04-28 13:19:47 -07:00
Poddar, Siddarth
39ba8e0481 qcacld-3.0: Fix memory leaks of TSO num segments
Fix memory leaks of TSO num segments by freeing remaining
TSO num segments in ol_tx_ll_fast and ol_tx_ll if somehow
allocated tx desc is NULL.

Change-Id: I577a95b784c776633cf685cd16b101755a48c521
CRs-Fixed: 2014587
2017-04-28 02:54:36 -07:00
Himanshu Agarwal
bda5f28213 qcacld-3.0: Adding vdev id based sanity check for tx desc
Adding vdev id based sanity check while checking if tx desc
is already freed or not in ol_tx_free_descs_inuse().

Change-Id: Icfc66ccac6829f922a76c35a3309094f374fd022
CRs-Fixed: 2035470
2017-04-26 23:53:52 -07:00
Manjunathappa Prakash
102562da74 qcacld-3.0: No need to hold flow_pool_lock in vdev pool_map_handler
ol_tx_flow_pool_map_handler() need not hold the lock to call pause_cb.
pause_map_lock will takecare of any contention between pause and unpause.

Change-Id: I1adcfc156db55946d3a647269ecc2c09ea7981ce
CRs-Fixed: 2037277
2017-04-25 10:20:53 -07:00
Orhan K AKYILDIZ
fdd74de850 qcacld-3.0: Debug enhancements for rx_buffer history
Add the following:
- Global cumulative counters for posted and received.
- CPU for each individual records
- Counters for refill timer starts
- iwpriv support (dumpStats 10) to dump the counters

CRs-Fixed: 2001331
Change-Id: I66a8a818ffa0b2522358bab404c92a3cdaa603f7
2017-04-21 18:48:26 -07:00
Orhan K AKYILDIZ
adf0610a93 qcacld-3.0: Fix rx_starvation on multiple-rx case
In case of parallel rx execution, fill_count was being updated
by multiple threads and this was causing fill_count to be incorrect
in parallel rx execution cases. This was causing rx ring to be under
filled and in time was causing rx starvation (data stall).

Fix this by:
- making sure that we always fill the right number of buffers based
  on the msdu_count in the in_order_indication message.
- making sure that only one execution thread fills the ring
- making sure that the lock holder (filling the ring) does not
  run too long by introducing a max fill limit, in which case the
  filler will give up and the contender (the other rx execution
  thread) takes the lock and fills the ring itself.

CRs-Fixed: 1103851

Change-Id: I59ee2903d51877afc112a1a76b7a5529f1c6a5c0
2017-04-21 18:48:24 -07:00
Orhan K AKYILDIZ
0278cd0977 qcacld-3.0: Change peer ref count accounting
Make sure that peer is deleted at every path where
the ref-count is decremented and it reaches zero.

Change-Id: Ibaaae1e66855ebbd285b3647f9b862e823b6f335
CRs-Fixed: 1094439
2017-04-21 18:48:20 -07:00
Yun Park
f01f6e2a49 qcacld-3.0: Correct return value when ol_txrx_pdev_post_attach fails
When ol_txrx_pdev_post_attach fails, the return values are not
correctly set, and this could cause several issues.
Fix to assign return values correcly.

Change-Id: I43fb97bbdb10e019e02bf289f5b4995461eb75db
CRs-Fixed: 1113222
2017-04-18 10:55:02 -07:00
Venkata Sharath Chandra Manchala
0c2eece03b qcacld-3.0: Fix the memory leak for soc handle
Free the allocated memory for soc handle
in ol_txrx_soc_detach

Change-Id: I023cb6a17cecf95f981956cd355fb57ec630db49
CRs-Fixed: 2017582
2017-04-14 16:32:25 -07:00
Himanshu Agarwal
53298d1fd7 qcacld-3.0: Add support to add memory tracking in tx path
Add support to add memory tracking in tx path in WLAN driver using
already present infrastructure for memory tracking.

Change-Id: I6a2c9890e0af1fd51c4e2dfcded68f0075a3a4ef
CRs-Fixed: 2025668
2017-04-13 17:53:11 -07:00
Himanshu Agarwal
865201d99d qcacld-3.0: Do netif_tx_stop_all_queues() instead of netif_tx_disable()
Race condition is happening when tx traffic is running and simulataneously
suspend is going on. hdd_hard_start_xmit() is called under txq->__xmit_lock
and in case of low descriptor scenario, it goes to pause the netif queues
and trying to take adapter->pause_map_lock for doing so which is already
acquired by another thread. In another thread, suspend indication is being
preocessed and as a result is trying to pause netif queues with
netif_action WLAN_NETIF_TX_DISABLE which takes adapter->pause_map_lock and
then calls netif_tx_disable() which is trying to take txq->__xmit_lock
already taken by the thread executing hdd_hard_start_xmit(). This leads to
a deadlock situation.

Replace netif_tx_disable() with netif_tx_stop_all_queues() as
netif_tx_stop_all_queues() is doing the same thing as netif_tx_disable()
only without taking the txq->__xmit_lock which prevents this deadlock.

Change-Id: I5afafe6435707bd8f0e87972a740f908d06ce847
CRs-Fixed: 2030933
2017-04-13 17:53:09 -07:00
Yun Park
637d6486f2 qcacld-3.0: Add interface to WDI-stats and quota limit
Add structure changes for querying WDI-stats, register the callback
functions for IPA to query WDI stats and sets the quota limit

Change-Id: I05d9d50fad735fa0a57c4de23c81461f6e12b648
CRs-Fixed: 1095710
2017-04-12 19:02:07 -07:00
Himanshu Agarwal
0e90a7bcc7 qcacld-3.0: Fix memory leaks of TSO segments and corresponding nbufs
Fix memory leaks of TSO segments and corresponding nbufs by:
1) Freeing TSO segments if qdf_nbuf_get_tso_info returns failure.
2) Freeing remaining TSO segments in ol_tx_ll_fast and ol_tx_ll if
   somehow allocated tx desc. is NULL.

Change-Id: I69d5b3fedde6e78ca49ef26ed8c0654a08a4b6db
CRs-Fixed: 2023657
2017-04-12 18:41:43 +05:30
Manjunathappa Prakash
8623d30b4f qcacld-3.0: Do not free skb in OL if ce_send_fast failed
Return failure if ce_send_fast fails and let caller, HDD free the Tx msdu.
If it happens to be TSO segment then free the to be trasmited TSO segments.

Change-Id: If3a16ca841e63e7941fe732013d3b3c351a4a286
CRs-Fixed: 2004780
2017-04-11 12:40:08 -07:00
Himanshu Agarwal
7d367c124d qcacld-3.0: Add ref_cnt implementation for flow pool
Add ref_cnt implementation for flow pool to synchronize
usage and deletion of flow pool.

Change-Id: Idb52c74df6a771b776e3df6bf4aea5c150b5fc7a
CRs-Fixed: 2025757
2017-04-10 16:29:26 +05:30
Poddar, Siddarth
31b9b8b741 qcacld-3.0: [HDD/TXRX] Reduce the log spam in kmsg
Move the logs to appropriate log levels to avoid excessive
logging in kmsg.

CRs-Fixed: 2029891
Change-Id: I782eadeb8c27f89ec635850201755720f068e955
2017-04-10 03:27:11 -07:00