Add support to handle a list of packets in the receive callback.
The Napier data path may deliver a list of frames as opposed to
one frame at a time.
Change-Id: I4ea274783337a550ed83661a0510084f5ec54604
CRs-Fixed: 1114851
Get the intra-bss packet count in HDD using the CDP interface.
The CDP interface ensures that the appropriate data path API
is invoked (which is target dependent). A crash is seen on
Napier since ol_txrx_get_vdev_from_vdev_id() which is not
supported on Napier is being invoked.
Change-Id: I647d8c8705ad5c93fb3e3a05b2f9b3896a4f459a
CRs-Fixed: 1114851
Replace usage of k[mz]alloc()/kfree() with qdf_mem_malloc()/
qdf_mem_free(). The API qdf_mem_malloc() calls kzalloc() with proper
allocation flags depending on the context.
QDF module has debugging capabilities like detect memory leak, list
allocation..etc.
Change-Id: I6655bc54675b5bdc0a8ce17753a08205e711d806
CRs-Fixed: 1085826
Free the memory allocated for the global variable wlan_loader. Also
properly unlink the kobject from the parent and free the memory
resources in cleanup path. Cleanup the function wlan_boot_cb().
Change-Id: I16e558c894980cbad531231ecda6fb093cf162e5
CRs-Fixed: 1085823
Turn on debugfs support only if CONFIG_DEBUG_FS is enabled in kernel
configuration.
Change-Id: I0b63bff056123fe29b0880bbe98da7a5c204fae7
CRs-Fixed: 1083744
Protect debugfs code with WLAN_DEBUGFS feature flag. This enables to
compile out the feature for external builds. Also add a dependency to
Linux kernel debugfs feature.
Change-Id: I1b09c18a8eadc7a9b90fb6535e39b8c4b5a25ab9
CRs-Fixed: 1083744
Restrict SAP in 11abg mode when starting in 5/10 MHz, since sub 20MHz
channel width is not compatible with HT and VHT rates.
Change-Id: I80b3f7b8f360368f3c3cfe653c90432dfd173ce2
CRs-Fixed: 1113259
After SSR is done all the tdls global context variables are
not initialized in wlan_hdd_tdls_init() that can create
problem in TDLS.
Fix is to initialize tdls global context variables after SSR.
Change-Id: I6e777d4d61876ea85300e587c5d720e89bad3431
CRs-Fixed: 1116756
Instead of using CSN value based on peer’s numSoundingDim, check peer’s
CSN value to make sure CSN value in assoc request should not be greater
than the peer CSN value.
Change-Id: I1456fbeb3ab1ef294d16b8383a5a094ca68d09c2
CRs-Fixed: 1116537
For emulation platform, timer value multiplied by 100,
Set the CAC value accordingly, to get timer expire after
intended duration.
Change-Id: Ia99ee6f36b88bca3c297fc06d1f3b777a2114d14
CRs-Fixed: 1114332
Use inline functions to access mgmt_txrx southbound API's.
This will remove the need to invoke these directly from the
structures.
Change-Id: I50f71261618fd6812265738597bd6f2968cef692
CRs-Fixed: 1110551
Add support to unmap tso segment when host receives
ol_tx_comletion_handler for a particular tso segment.
Host unmap all the fragments of corresponding tso segment
except 0th fragment.
0th fragment of each tso segment now points to EIT header
which is common across all the segments. So 0th fragment cannot
be unmapped until host receives tx completion for last tso segment.
Also, now with introduction of tso, skb map-unmap is not required
anymore for tcp packets as host anyway does map-unmap of each
tso segment before sending it.
CRs-Fixed: 1106688
Change-Id: I572c7dcd2d29cb19b398e13e0fe7ce6f88ee1641
Use dev_pm_ops for suspend/resume/suspend_noirq/resume_noirq ops in PLD
if there is no CNSS platform driver when using PCI bus.
Change-Id: Ib656cee2cd48cf15028397084ec8679627bce459
CRs-fixed: 1115528
Currently the RSSI and SNR callback functions are interleaved with
respect to the calling functions. The order in which the functions
currently appear in wlan_hdd_wext.c is:
hdd_get_rssi_cb()
hdd_get_snr_cb()
wlan_hdd_get_rssi()
wlan_hdd_get_snr()
Since each callback function is tightly coupled with its calling
function, it makes sense for the callback function to be contiguous
with the calling function in the code. Therefore change to order to:
hdd_get_rssi_cb()
wlan_hdd_get_rssi()
hdd_get_snr_cb()
wlan_hdd_get_snr()
Change-Id: I19078175049fc1a38716387df57f4e643dbbbd62
CRs-Fixed: 1116166
Currently TSPEC IEs are not updated to CSR when reassoc response included
TSPEC IEs. In LFR3 CCX roaming, CSR doesnt get TSPEC IE data as reassoc rsp
doesnt include RIC data.
Del TSPEC is not being processed properly at CSR level as it doesnt have
any TSPEC information.
Add changes to update TSPEC IEs and length to CSR after successful
CCX roaming.
Change-Id: I0e024c8264cb2e06042d517824245db1f1d09aea
CRs-Fixed: 1108440
Currently scan results are first cached in SME and then they are
updated to kernel using results in SME cache. This may result in
updation of stale entries to kernel. Fix this by sending scan results
to kernel as and when driver receives them.
Also, add changes to send ext scan results to kernel.
Change-Id: I18f4b36cf3a9fc2e191352c868f69d797eb0a786
CRs-Fixed: 1098411
Presently interface change timer is 5seconds, during stress and high
cpu workload scenarios 5sec time may not be enough for user space to
bring-up WLAN after driver load.
Hence, increasing the timer value to 100sec.
Change-Id: I01b2a82fcf6841bfddfe473332701068b93d855c
CRs-Fixed: 1113583
Doing mem_init first allows other qdf_features to allocate
memory for profiling and tracking using the qdf_mem_alloc
apis.
Change-Id: Id4f830a83a745763058ff2f05138b80558fe1d1f
CRs-Fixed: 1100552
qcacld-2.0 to qcacld-3.0 propagation
In the while loop of hdd_get_sap_operating_channel,
sap_operating_band should be revalued, otherwise it causes
dead loop.
Change-Id: I9cb1ae738066567d032f99621ffe04d3beb74b8c
CRs-Fixed: 1094604
qcacld-2.0 to qcacld-3.0 propagation
wlan_hdd_cfg80211_change_iface will abort if ACS_IN_PROGRESS
is set, which causes iface type mismatch between hostapd and
driver.
When force SCC if same band is enabled, driver will not do ACS
for the second AP. So do not set ACS_IN_PROGRESS if no ACS to
be done.
Change-Id: I2c975c89dc1cf0d11980ad11c8d0d256c680594d
CRs-Fixed: 1105386
The getPhyMode ioctl allocates a large struct on the stack. This is
problematic for a number of reasons, and can cause compilation errors.
Migrate the allocation to the heap instead.
Change-Id: I7a1df6bbc89dd169d11a541f1ebcded6136792e9
CRs-Fixed: 1114990
Register suspend_noirq/resume_noirq callbacks to kernel. It will
make sure no wake up is pending from firmware and if initial wake
up is received then failing it should trigger resume.
Change-Id: I1882011cab7365a026827a60c44375f0f1dc6102
In case of intra-bss forwarding, tx-path consumes all the tx descriptors
and pause netif queues. As a result, there would be some left for stack
triggered packets such as ARP packets which leads to ref STA disconnection.
To avoid this, reserved a pool of descriptors(OL_TX_NON_FWD_RESERVE = 100)
for high priority packets such as ARP/EAPOL etc and drop the packets
to be forwarded in host itself.
CRs-Fixed: 1095203
Change-Id: I7d473118ef3d986f79aa5b7a47286235d7adcab4
Netdev-ops/cfg80211-ops are registered to the kernel and should
be invoked only by the kernel in the context of the user.
In this scenario during SSR as part of cfg80211_stop_ap for p2p_go
the driver is directly invoking hdd_hostapd_stop(netdev ops) which
clears the DEVICE_OPENED flag, which should be done only if the
INTERFACE_DOWN is triggered by the kernel. To resolve this
directly stop the queues rather than using the netdev ops.
Change-Id: I1d9349a2c52fe8de17313bdced494ccd5bc9d641
CRs-Fixed: 1114722
Swith to new recovery APIs with dev instance and recovery reason.
As recovery could have different mode and be target specific.
Change-Id: I26a1a2a0d23a687a5babcaf4ba4e5c6e788fedac
Complete cld driver is using common scheduler message queue APIs
hence remove redundant type casts associated with scheduler message
queue structures and APIs.
Change-Id: Ia5d6208cc365acd94f20bbc7cadc0e22be6fbd01
CRs-Fixed: 1114379
After control path scheduler componentization every legacy module
is supposed to use common converged scheduler message types and APIs.
Remove duplicate tSirMsgQ message types in mac and use converged scheduler
message queue APIs.
Change-Id: If47df18043f8127a20a72562bf45afe37dabca72
CRs-Fixed: 1114378
After control path scheduler componentization CDS message queue
APIs are no longer used hence remove obsolete CDS mq APIs from CDS
module.
Change-Id: I7d83783d9fd126bb8b17a5c3292eac91c0966280
CRs-Fixed: 1114375