Commit Graph

1798 Commits

Author SHA1 Message Date
Service qcabuildsw
896fbae52a Merge "qcacld-3.0: Set rx_mode to be NAPI for iHelium" into wlan-cld3.driver.lnx.1.1-dev 2016-08-25 12:22:37 -07:00
Service qcabuildsw
c719610835 Merge "qcacld-3.0: Check and kickstart the modules state if they are closed" into wlan-cld3.driver.lnx.1.1-dev 2016-08-25 12:21:48 -07:00
Service qcabuildsw
119db31ba7 Merge "qcacld-3.0: Fixes for p2p from GUI/standalone" into wlan-cld3.driver.lnx.1.1-dev 2016-08-25 12:20:55 -07:00
Manjunathappa Prakash
2721f942ff qcacld-3.0: Set rx_mode to be NAPI for iHelium
With the introduction of rx_mode ini config, gEnableRxThread and
gEnableNAPI configuration are obsolete. So remove them.

Change-Id: Ida8063eff86a644ebf9c494b94bcb3396b35b6e8
CRs-Fixed: 1056091
2016-08-24 16:25:21 -07:00
Arun Khandavalli
99286457f6 qcacld-3.0: Check and kickstart the modules state if they are closed
There are few NL80211 commands which can be triggered from the upper
layer even when the interfaces are down. Check the driver state
machine when these commands gets triggered from the upper layer and
start the modules if they are closed, so these commands can be honoured
correctly.

Change-Id: I4a1d2e95379a5e690b00eea37e80ceb8a91925fb
CRs-Fixed: 1056959
2016-08-24 22:47:22 +05:30
Arun Khandavalli
b2f6c26fa4 qcacld-3.0: Fixes for p2p from GUI/standalone
* From the GUI, After change interface, only stop
  and de-init of adapter was getting done.
  The interface to be changed was not getting started. So, start
  the adapter from the mode since the interface was already up in the
  P2P device mode before the change_iface, supplicant doesn't invoke
  interface up on the adapter again.

* In the standalone scenario, the interface up for the p2p0 comes 1st,
  as part of which the sme session shall be opened with sessionId 0.
  So, as part of indicating the management from to HDD, LIM layer tries
  to traverse the adapter list with the sessionId and since the wlan0 interface
  is also part of the linked list with the same sessid. It tries to send the
  management frames on the wrong interface index because of which frames were
  not reaching the supplicant. To migitate this issue, once the adapter is
  allocated, fill the session with invalid sessionId so that it can be updated
  with the valid sessionId once the session is created.

Change-Id: I63b320aea1eb779883dfa070bad3f2057fd5c371
CRs-Fixed: 1056344
2016-08-24 16:39:02 +05:30
Abhishek Singh
af7e7fa67c qcacld-3.0: Do not reset short preamble support and beacon interval
qcacld-2.0 to qcacld-3.0 propagation

In pe_reset_protection_callback psession's beaconParams struct is
reset to 0 and thus short preamble support being part of this
structure is set to 0. Due to this beacons always have barker
preamble set to 1 even if no non short preamble enabled STA is
connected.

To avoid this do not reset the short preamble support and beacon
interval in psession's beaconParams structure.

Change-Id: I631fb202fba6bc129d03ff21cff2adef328abff2
CRs-Fixed: 1032578
2016-08-22 22:55:48 -07:00
qcabuildsw
e0676b5d59 Release 5.1.0.24
Release 5.1.0.24

Change-Id: Icf7dc61f1ec321f3d6330a26f74c4f8a6b55e933
CRs-Fixed: 688141
2016-08-22 12:44:51 -07:00
Deepak Dhamdhere
c47cfe8fa7 Revert "qcacld-3.0: Force delete peer entry during LFR3 roaming"
This reverts commit-id: "Ib028c29863d4e95ccac434f7d47bfedd59ef883f"
It caused peer object memory access after it was freed.

CRs-Fixed: 1057347
Change-Id: I99842eb646371e186ade3b126ea0e8f84b7f2187
2016-08-22 12:44:49 -07:00
qcabuildsw
6bacf440e4 Release 5.1.0.23Z
Release 5.1.0.23Z

Change-Id: Ib55a200a64fc6a52852cb0517791b36265c0e10f
CRs-Fixed: 688141
2016-08-21 18:04:13 -07:00
Sandeep Puligilla
58c84ef0cd Revert "qcacld-3.0: Check if vdev is up before sending vdev down to FW"
Auth request is not sent out due to which assoc reject is observed.

As part of the vdev down firmware clears the software tx queue which
is blocked due to the "Ia5394390d376c638b3976d446a6ecc98d0584159"
change. So reverting this change will enable
the vdev down and clears the tx queue.

This reverts commit-id "Ia5394390d376c638b3976d446a6ecc98d0584159"

Change-Id: If7d7ca5939f7586b12d84d6e070e94bb5e7e6c2c
CRs-Fixed: 1057329
2016-08-21 18:04:12 -07:00
qcabuildsw
09634035c6 Release 5.1.0.23Y
Release 5.1.0.23Y

Change-Id: I25f943db875a686133e45039774c334a704f268a
CRs-Fixed: 688141
2016-08-20 14:19:25 -07:00
Jeff Johnson
94be11c3eb qcacld-3.0: Convert wlan_hdd_main.c to unified logging [7/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 7 set the HDD_DISALLOW_LEGACY_HDDLOG flag so that no future
changes can introduce new instances of legacy logging.

Change-Id: I09ed8f80764cc7b55bbcdd506253f56b5ee07937
CRs-Fixed: 937663
2016-08-20 14:19:24 -07:00
Jeff Johnson
28f8a77d33 qcacld-3.0: Convert wlan_hdd_main.c to unified logging [6/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 6 update the following functions:
wlan_hdd_auto_shutdown_cb()
wlan_hdd_auto_shutdown_enable()
hdd_stop_bus_bw_compute_timer()
wlan_hdd_check_custom_con_channel_rules()
wlan_hdd_stop_sap()
wlan_hdd_start_sap()

Change-Id: I87781017f43b2e40ede02448d7332b6ee18465f1
CRs-Fixed: 937663
2016-08-20 14:19:22 -07:00
Jeff Johnson
34c88b7d5c qcacld-3.0: Convert wlan_hdd_main.c to unified logging [5/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 5 update the following functions:
hdd_ch_avoid_cb()
hdd_init_channel_avoidance()
hdd_populate_random_mac_addr()
hdd_cnss_wlan_mac()
hdd_wlan_startup()
hdd_softap_sta_deauth()
hdd_softap_sta_disassoc()
hdd_softap_tkip_mic_fail_counter_measure()
wlan_hdd_disable_roaming()
wlan_hdd_enable_roaming()
wlan_hdd_send_svc_nlink_msg()

Change-Id: If71de96e81600f2a5136a0907b2404a8e2a05a8b
CRs-Fixed: 937663
2016-08-20 14:19:21 -07:00
Jeff Johnson
760350b7b9 qcacld-3.0: Convert wlan_hdd_main.c to unified logging [4/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 4 update the following functions:
hdd_skip_acs_scan_timer_handler()
hdd_wlan_set_ht2040_mode()
hdd_wlan_notify_modem_power_state()
hdd_post_cds_enable_config()
hdd_exchange_version_and_caps()
hdd_bus_bw_compute_cbk()
wlan_hdd_init_tx_rx_histogram()
wlan_hdd_display_tx_rx_histogram()
wlan_hdd_display_netif_queue_history()

Change-Id: Ibfd53f4f2703dba8c7ce96368392afa3c0c12d5b
CRs-Fixed: 937663
2016-08-20 14:19:19 -07:00
Jeff Johnson
5880d792cd qcacld-3.0: Convert wlan_hdd_main.c to unified logging [3/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 3 update the following functions:
hdd_cleanup_actionframe()
hdd_cleanup_adapter()
hdd_open_adapter()
hdd_close_adapter()
wlan_hdd_reset_prob_rspies()
hdd_stop_adapter()
hdd_reset_all_adapters()
hdd_start_all_adapters()
hdd_get_adapter_by_vdev()
hdd_wlan_exit()
__hdd_wlan_exit()

Change-Id: I4eaedea4a7e7da5d4f0284be4ad2ca5d05f8b98a
CRs-Fixed: 937663
2016-08-20 14:19:17 -07:00
Jeff Johnson
1346fab2c8 qcacld-3.0: Convert wlan_hdd_main.c to unified logging [2/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 2 update the following functions:
__hdd_stop()
__hdd_uninit()
hdd_open_cesium_nl_sock()
__hdd_set_multicast_list()
hdd_register_interface()
hdd_sme_close_session_callback()
hdd_check_and_init_tdls()
hdd_init_station_mode()

Change-Id: Ia181a89d55b2e584739a543a0d163877b474d3ae
CRs-FIxed: 937663
2016-08-20 14:19:16 -07:00
Jeff Johnson
b8969cb51f qcacld-3.0: Convert wlan_hdd_main.c to unified logging [1/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 1 update the following functions:
__hdd_netdev_notifier_call()
hdd_checkandupdate_phymode()
hdd_set_ibss_power_save_params()
hdd_update_macaddr()
hdd_update_tgt_services()
hdd_update_tgt_ht_cap()
hdd_update_tgt_vht_cap()
hdd_update_tgt_cfg()

Change-Id: Id394b038f35c3f663ae6a00f49c903dc52f4f4a2
CRs-Fixed: 937663
2016-08-20 14:19:14 -07:00
Jeff Johnson
6f91707904 qcacld-3.0: Convert wlan_hdd_ftm.c to unified logging
Currently the HDD code uses a variety of logging APIs.  In
qcacld-3.0 HDD should converge on a unified set of logging APIs.
Update wlan_hdd_ftm.c to use the unified set of APIs.

Change-Id: I58b2214ba1243e93dd5e3c9b6774c08537094139
CRs-Fixed: 937659
2016-08-20 14:19:12 -07:00
qcabuildsw
f969f6fb42 Release 5.1.0.23X
Release 5.1.0.23X

Change-Id: I88868651e2c4144434d5dc3646d994d7a4c500f7
CRs-Fixed: 688141
2016-08-20 10:37:00 -07:00
Nirav Shah
d59b3b253e qcacld-3.0: Log rx packet in packetlog as per rx ind message
Log rx packet in packetlog as per HTT_T2H_MSG_TYPE_RX_IN_ORD_PADDR_IND
message from firmware.

CRs-Fixed: 970647
Change-Id: I5773b67a9269063531d038d46ac404c978818dcc
2016-08-20 10:36:59 -07:00
Poddar, Siddarth
9808c1d8ef qcacld-3.0: Add packetlog bit in rx indication from firmware
Add packetlog bit in rx indication from firmware.

Change-Id: Id515729c059e2c9717f6a0332d9041bf9a454ed7
CRs-Fixed: 970647
2016-08-20 10:36:57 -07:00
Srinivas Girigowda
c34f11dfd8 qcacld-3.0: Add support to enable/disable packetlog using iwpriv
Add support to enable/disable packetlog using
iwpriv wlan0 pktlog command.

Change-Id: Ia17f659e16221985be5cd9e75ebf0c46f2dc5693
CRs-Fixed: 970647
2016-08-20 10:36:55 -07:00
Srinivas Girigowda
d9e6f7bb2f qcacld-3.0: Enable packet logging during driver init/re-init
Currently packet logging can be enabled by using the pktlogconf tool.
* Customers are not happy running the user program to collect the logs.
* There are chances of running pktlogconf between traffic.
* If packet logging is enabled after the issue has happened, we will
  miss the crucial debug info.

Hence introduce a mechanism to enable packet logging during driver load.

Change-Id: I3138e252e02009094d61150a55172b49f9fca4fd
CRs-Fixed: 970647
2016-08-20 10:36:53 -07:00
Nirav Shah
dcc4c875c4 qcacld-3.0: Changes to support WDI_EVENT_SW_EVENT for packetlog
Changes in host to support WDI_EVENT_SW_EVENT for packetlog.

Change-Id: I8936a408a7da21ad293b6da7af146298c049052d
CRs-fixed: 1047382
2016-08-20 10:36:52 -07:00
qcabuildsw
888f6ad709 Release 5.1.0.23W
Release 5.1.0.23W

Change-Id: Id4896dbda7ef8703d78363407f1a947cb28ab158
CRs-Fixed: 688141
2016-08-20 01:03:53 -07:00
Amar Singhal
b2cb300cff qcacld-3.0: Conditionally disable channel 144 in wiphy
If channel 144 is disabled in service ready event, host is only
disabling the channel in corestack. Fix that by also disabling the
channel in wiphy, which is used by kernel and user-space.

Change-Id: I4222aef646ede78d97b554faaf7f0c5b627feec0
CRs-Fixed: 1054102
2016-08-20 01:03:52 -07:00
Amar Singhal
04bd8bf652 qcacld-3.0: Fix regulatory domain issues
US regulatory domain is FCC3_FCCA and not FCC8_FCCA. Fix that.
Also add regulatory domain APL8_WORLD to regulatory tables.
Bolivia and Nigeria map to APL8_WORLD.

Change-Id: I539d2720f08026a06669b1c5117523667dfcef52
CRs-Fixed: 1053513
2016-08-20 01:03:50 -07:00
Amar Singhal
1851788cdb qcacld-3.0: Add a new ini item to control the INDOOR channels support
qcacld-2.0 to qcacld-3.0 propagation

Currently indoor channels are unconditionally set to
IEEE80211_CHAN_PASSIVE_SCAN in driver. Add logic to report INDOOR
channel as passive channel only when gindoor_channel_support is FALSE.

Change-Id: Iab55a394a28ff452c06c739f3fbd47506eda85eb
CRs-Fixed: 955272
2016-08-20 01:03:48 -07:00
Deepak Dhamdhere
363c6bc5bf qcacld-3.0: Force delete peer entry during LFR3 roaming
While processing ROAM_OFFLOAD_SYNCH_IND, delete the peer entry
even if reference count is non-zero sine firmware has already
deleted that peer. It allows addition of new peer without waiting
for peer_unmap events. Fix the logic error in checking the timeout
in ol_txrx_peer_attach().

Change-Id: Ib028c29863d4e95ccac434f7d47bfedd59ef883f
CRs-Fixed: 1046754
2016-08-19 19:25:46 -07:00
qcabuildsw
56cd8444d7 Release 5.1.0.23V
Release 5.1.0.23V

Change-Id: Idb9abe998d5e24777c17343b49b218bac8489d34
CRs-Fixed: 688141
2016-08-19 18:52:49 -07:00
Krunal Soni
0193b6f143 qcacld-3.0: Provide support enable RX LDPC in certain cases
In following conditions RX LDPC support needs to be enabled
1) when STA is coming up in 5G band
2) when IBSS is coming up in 5G band

for anyother cases RX LDPC needs to be disabled. If user has
choosen RX LDPC to be disabled from INI file then it needs to
be disabled for all the cases including above mentioned cases.

To achieve this, take the intersection of global, INI, and harware
specific RX LDPC settings.

Change-Id: Iae10aa4a8c0931cdb796cd9c8ff558d4bc8e0aed
CRs-Fixed: 1050004
2016-08-19 18:52:48 -07:00
Krunal Soni
6f6088cc41 qcacld-3.0: Fix the memory leak caused by pmfSaQueryTimer
this patch will fix the memory leak caused by pmfSaQueryTimer
which was encountered during stress and stability tests.

Change-Id: I5a2367302e0eac3a024626795a4469d1ced76e8c
CRs-Fixed: 970527
2016-08-19 18:52:47 -07:00
Himanshu Agarwal
b56ad2e5c1 qcacld-3.0: Change structure names for WIN compilation fix
Change structure names to fix WIN compilation when used in
coexistence with MCL codebase.

Change-Id: Ife09989e1f0f0c4d619f73c5960968d3a6721b6e
Acked-by: prgandhi@qti.qualcomm.com
CRs-Fixed: 1008872
2016-08-19 18:52:45 -07:00
qcabuildsw
9f6c8a05ea Release 5.1.0.23U
Release 5.1.0.23U

Change-Id: Iceb664a4c098fc700c18eb1c77ab1cd43e3426e7
CRs-Fixed: 688141
2016-08-19 18:33:29 -07:00
Manjunathappa Prakash
b4ae4ab7b0 qcacld-3.0: Serialize the LRO manager array access
Serialize the LRO descriptor list modifications.

Change-Id: Ie40ccf274e6e44441a16ff3d6f36a3007b732c09
CRs-Fixed: 1056091
2016-08-19 18:33:29 -07:00
Arif Hussain
a34700c82e qcacld-3.0: Fix sap_acs_channel_check
In sap_acs_channel_check fix ‘if’ condition will be always true for any
given channel, this will fail to validate if the given channel is in ACS
channel range.

Fix the if condition check from logical OR to AND to validate given channel
is within the ACS start and end channel range.

Change-Id: I1d69c9d440e641b052fd6098d1c99f22a64e9a9d
CRs-Fixed: 1056036
2016-08-19 18:33:27 -07:00
Arif Hussain
1b21e81150 qcacld-3.0: Fix overlapping channel selection in ACS
The enableOverLapCh is not populated from HDD context, So sap_filter_over_lap_ch
function always filter overlapping channel causing ACS to select only
non-overlapping channel.

Populate enableOverLapCh from HDD context to SAP context.

Change-Id: I99b1ada48573e8b03ab42a94d98f92f7b0b0e871
CRs-Fixed: 1055071
2016-08-19 18:33:25 -07:00
Mohit Khanna
c6f03989a8 qcacld-3.0: Add USB bus support (DP)
Add datapath changes for USB bus support

Change-Id: Iabb6f5bbfa4d0c2a8026262d2ecb11cdc0533742
CRs-Fixed: 1023663
2016-08-19 18:33:24 -07:00
Mohit Khanna
0fe6167c19 qcacld-3.0: Add USB bus support (WMA)
Add WMA specific changes for USB bus support.

Change-Id: I4186d22e4f0af258ee92fb269db9a987cdd0c933
CRs-Fixed: 1023663
2016-08-19 18:33:23 -07:00
Mohit Khanna
da4f443792 qcacld-3.0: Add USB bus support (Kbuild)
Add kbuild specific changes for USB bus support.

Change-Id: Icc6e8378ba3cbfca8aeb54b5084840e621639582
CRs-Fixed: 1023663
2016-08-19 18:33:21 -07:00
Mohit Khanna
04bea52a30 qcacld-3.0: Add USB bus support (BMI)
Add BMI specific changes for USB bus support.

Change-Id: Icf9d2097d23945c6fab6d3d06dbff04578c8054e
CRs-Fixed: 1023663
2016-08-19 18:33:20 -07:00
Mohit Khanna
b7da043345 qcacld-3.0: Add USB bus support (Tgt Config HL)
Add module specific changes for USB bus support.

Change-Id: Id6fe6b79b2dbf41a93ee815c20f44972122c9bb7
CRs-Fixed: 1023663
2016-08-19 18:33:19 -07:00
Mohit Khanna
1d531c408f qcacld-3.0: Add USB bus support (PLD)
Add PLD specific changes for USB bus support.

CRs-Fixed: 1023663
Change-Id: I030ee8a5e6dd13ed8bd970d80f435219677c4e4b
2016-08-19 18:33:17 -07:00
Mohit Khanna
fa99aea342 qcacld-3.0: Add USB bus support (HDD)
Add HDD specific changes for USB bus support.

CRs-Fixed: 1023663
Change-Id: I572a78cd9de1f7e531f300ced69a7eb51f4a167f
2016-08-19 18:33:16 -07:00
Himanshu Agarwal
11a08c08db qcacld-3.0: Add check to find IPV6 mcast packet
Propagation from qcacld-2.0 to qcacld-3.0.

1) Add check to find IPV6 mcast packet embedded in a
   link layer unicast packet in wma_wow_wake_up_stats.
2) Add extra length check for IPV4 packets.

Change-Id: Ic2af69032262237b8751019817ae181913346818
CRs-Fixed: 1049254
2016-08-19 18:33:14 -07:00
Himanshu Agarwal
4574e28362 qcacld-3.0: Correct wow wakeup counters
Propagation from qcacld-2.0 to qcacld-3.0.

Correct the updation of various wow wakeup counts.
Change wow_icmpv6_uc_bc_count to wow_icmpv6_count
as there is no broadcast in case of ipv6.

Change-Id: Iceaf1226edbf909ca3881e049c33f7d121860ef2
CRs-fixed: 1049254
2016-08-19 18:33:12 -07:00
Himanshu Agarwal
77e1b31e0d qcacld-3.0: Add ipv4 and ipv6 packet checks
Propagation from qcacld-2.0 to qcacld-3.0.

Presently in updating wma_wow_wake_up_stats, icmpv4 and icmpv6
counts are increased just by checking ICMP protocol offset byte
and ICMPV6 protocol offset byte without checking for whether it
is a IPV4 or IPV6 packet. So it is possible that for ICMPV6 packet,
the IPV4 protol offset byte is equal to ICMP protocol or for some
ICMP packet, the IPV6 protocol byte is equal to ICMPV6 protocol and
thus both the icmpv4 and icmpv6 counts will get increased for that packet.

Add ipv4 and ipv6 packet checks as well in addition to the present checks
to avoid wrong increment in the counts.

Change-Id: I2d6e5d095d2f4b2dd474b9338bfc830b04bfa533
CRs-fixed: 1048651
2016-08-19 18:33:11 -07:00
Tushnim Bhattacharyya
c7d6202f2a qcacld-3.0: Disallow chain mask request for 2x2 if hardware is not capable
Disallow host requesting for 2x2 chain if hardware is not capable of or
ini setting disabled it. Downgrade the request to 1x1 instead. No need for
waiting for NSS update to complete as all requests are serialized through
SME cmd queue.

Change-Id: Ifee4ce15771b57ac3cc1e85650c56f426c34c833
CRs-Fixed: 1037816
2016-08-19 18:33:08 -07:00