In function csr_roam_join_handle_profile, add NULL pointer check for
"result" after call to csr_roam_select_bss rather than before
csr_roam_join_handle_profile, since it is called for BSS role as well.
Change-Id: I800891fd66d5c851537968515e43eadbe38a2ae8
CRs-Fixed: 1038237
Add NULL pointer check for "result" after call to csr_roam_select_bss.
This function can return a NULL value for variable "result", which is
later dereference in the function csr_roam_join_handle_profile.
Change-Id: I5e1f017de49301a14b899692b888f7694e979bf1
CRs-Fixed: 1027725
Container_of returns invalid ol_ctx pointer which leads to a null
pointer of qdf_dev. Fix this by directly request qdf_dev pointer
from cds.
Change-Id: I08910bb798b7992d550c9e061eed04a9b6f140d1
CRs-Fixed: 1033518
Fix the occupied channel list that is being passed from CSR to
WMA to WMI to firmware.There is a conversion happening in
WMA from channel number to frequency which is the root of the
issue.
CRs-Fixed: 1039020
Change-Id: I8e10df6dd4d09b12ff700ab865f6722f4fbfaf8d
Bus suspend/resume log messages are logged with info log
level which is by default not logged in kernel log buffer.
Increase bus suspend/resume log level to error such that
this critical log message is logged in kernel message.
Once wlan suspend/resume feature becomes more stable this
log message can be reduced back to info log level.
Change-Id: Ic78900d5b111637d4d8d1b26e18fa298fbbd893f
CRs-Fixed: 1041335
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_power.c to use the unified set of APIs.
Change-Id: Iba049d8734436c916efce4d3c1fa2c55ac09c333
CRs-Fixed: 937685
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_ocb.c to use the unified set of APIs.
Change-Id: I7ec58632a781024fedba46ff25baa873ac52bd9a
CRs-Fixed: 937672
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_hostapd.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: Ia76d147a57bbc2f1361f8574d226447d0e4c8408
CRs-Fixed: 937661
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_hostapd.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_cfg80211_stop_ap()
__wlan_hdd_cfg80211_start_ap()
__wlan_hdd_cfg80211_change_beacon()
Change-Id: I173579cb7ba6fc1baa7e6667f06bf642e961b5bb
CRs-Fixed: 937661
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_hostapd.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:
__iw_softap_stopbss()
hdd_softap_get_sta_info()
__iw_softap_get_sta_info()
__iw_set_ap_genie()
__iw_get_softap_linkspeed()
hdd_init_ap_mode()
hdd_wlan_create_ap_dev()
hdd_register_hostapd()
hdd_unregister_hostapd()
wlan_hdd_set_channel()
wlan_hdd_add_ie()
wlan_hdd_add_hostapd_conf_vsie()
wlan_hdd_add_extra_ie()
wlan_hdd_cfg80211_alloc_new_beacon()
wlan_hdd_cfg80211_update_apies()
wlan_hdd_config_acs()
wlan_hdd_setup_driver_overrides()
wlan_hdd_cfg80211_start_bss()
Change-Id: Ibaf0dbb2af0928bf4dce5a475df7e536d85d1451
CRs-Fixed: 937661
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_hostapd.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:
__iw_softap_getparam()
__iw_softap_modify_acl()
__iw_softap_set_max_tx_power()
__iw_softap_set_tx_power()
__iw_softap_getassoc_stamacaddr()
__iw_softap_disassoc_sta()
wlan_hdd_set_force_acs_ch_range()
__iw_softap_get_channel_list()
__iw_get_genie()
__iw_get_wpspbc_probe_req_ies()
__iw_set_auth_hostap()
__iw_set_ap_encodeext()
__iw_softap_setwpsie()
Change-Id: If2388fbdaf5988bd1864443f58594098c44bf837
CRs-Fixed: 937661
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_hostapd.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:
__iw_softap_setparam()
__iw_softap_get_three()
Change-Id: I5db86f54bcc978d7935873423fa1e91bc83d7a2e
CRs-Fixed: 937661
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_hostapd.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_softap_unpack_ie()
hdd_softap_set_channel_change()
__iw_softap_set_ini_cfg()
__iw_softap_get_ini_cfg()
__iw_softap_set_two_ints_getnone()
Change-Id: Ia755a63c7154253a02b395fa60f8d3ef82628bba
CRs-Fixed: 937661
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_hostapd.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_hostapd_channel_allow_suspend()
hdd_hostapd_channel_prevent_suspend()
__hdd_hostapd_open()
__hdd_hostapd_stop()
__hdd_hostapd_uninit()
hdd_set_sap_ht2040_mode()
hdd_hostapd_inactivity_timer_cb()
hdd_clear_all_sta()
hdd_stop_bss_link()
hdd_issue_stored_joinreq()
hdd_send_radar_event()
hdd_hostapd_sap_event_cb()
Change-Id: I5ba28609a7859472bfe08517260364f286f068f4
CRs-Fixed: 937661
qcacld-2.0 to qcacld-3.0 propagation.
oem data request len size should be of 4 byte instead of
1 byte.
Add changes to correct len size in oem data structure across the
layers.
Change-Id: I9b377420c50ff1160964f94be5eaa0072df0f63d
CRs-Fixed: 1013488
The chain mask in policy manager connection table needs to be updated
with the capability that HW advertises at load time intersected with
related ini configuration on host. The dynamic change of the chain
mask & NSS values will be handled only by chain mask manager in
firmware.
Change-Id: I250668c93920a63c9278aefe93491cb5aaa91ca7
CRs-Fixed: 1037816
Allow setting of CT window size while enabling P2P opportunistic power
save using the DRIVER command 'P2P_SET_PS'. This removes the need to send
two commands to set CT window size: 'P2P_SET_PS 1 1 -1' to first enable
opportunistic power save followed by 'P2P_SET_PS -1 -1 30' to set the
window size. Now, the same can be achieved using 'P2P_SET_PS 1 1 30'. The
change is still backward compatible with user space entities which send
two DRIVER commands to achieve this functionality.
Change-Id: I5f3dbe00f64df123d6947e29bb62b0f8f1524080
CRs-Fixed: 1039946
Change to ensure that the vdev and txrx operations passed to
data path during vdev registration are valid.
Change-Id: I912194184ae65229ddd7243afa58c56f4579959a
CRs-Fixed: 1035414
Remove use of hddLog api calls and use newer hdd logging apis:
hdd_err and hdd_info
Change-Id: Ic9a9dbe393a9a7582a31aa613fb812034819a821
CRs-Fixed: 962367
qcacld-2.0 to qcacld-3.0 propagation
This reverts change Id461e72919911dff2f93ea7210cb41f643a19b33
The existing code is checking for headroom in the skb coming to HDD from
TCP/IP stack and ends up allocating a new skb and skb->data in case there
is not enough headroom. Headroom is not needed to process outgoing TX
packets in qca_cld3.0 converged code for ROME and ihelium.
Besides a CPU hit, the re-allocation is also causing ROME based products
to use bounce buffers when the new skb(data) is mapped for DMA, since the API
for headroom allocation does not use GFP_DMA flag.
Remove the skb headroom/re-alloc logic to fix the issue.
Keep the existing skb_unshare code as it affects TCP TX for ihelium.
Needs further analysis.
Change-Id: I4980e047aa158c5de0f4f2a557c83f4555bca840
CRs-Fixed: 851524
Fix compilation error on disabling the MCC to SCC switch feature flag
FEATURE_WLAN_MCC_TO_SCC_SWITCH.
Change-Id: Id741f86d2e514c5dc5bfa8164ff37f56cd1ca630
CRs-Fixed: 1037396
Buffer overflow condition is not validated correctly in function
sme_update_tdls_peer_state(). This may result in erratic program
behavior.
Add buffer over flow validation to avoid memory access errors,
incorrect results, a crash, or a breach of system security.
Change-Id: I793bd056b32924b484ce7cb264b22c74c8c4cca4
CRs-Fixed: 1035656
FW common files needs to be in sync with host and fw.
Add changes to compile successfully with latest version
of FW interface file.
Change-Id: I487a18185c406da5c2fb07e2a95cafe4793578aa
CRs-Fixed: 1012542
FW common files needs to be in sync with host and fw.
Correct fw common references in dp layer with latest copy
of fw common files.
Change-Id: I194c25045ca978634027a94bc74f22253b1afc86
CRs-Fixed: 1012542
Add support for WMI POWER DEBUG command to control mac_core power features
for run time debugging.
Change-Id: I77ad747843cae31de1705b7ce8fa80e18c9ca53e
CRs-Fixed: 1007598
Ensure that the interval field provided by the DRIVER command
P2P_SET_NOA is used while populating the NoA parameters. Make sure
that the interval and duration fields are in TU units.
Change-Id: I9e1e60a0019e90deab36df5d8ba7822dfa4dcae0
CRs-Fixed: 1036494
PNO kernel debug logs are too frequent.
Reduced the log level of PNO messages from error to info
Change-Id: I27166f542889e0d5071ae8c558e0227c51064c5f
CRs-Fixed: 1022820
ol_ctx is NULL by default if NO_BMI is defined. Hence, add NULL
check for ol_ctx in bmi_download_firmware so that this NULL pointer
could be handled properly in BMI and NO_BMI cases.
Change-Id: I17b6a7e266e41b1f9135bb81bf4329c1ae460862
CRs-Fixed: 1038414
Enable the early stop scan feature by default and also
modify the default values as per the request from the
firmware
CRs-Fixed: 1036474
Change-Id: I0f2596633084ea97e64fb2c7d9975052d1ac98fb
qcacld-2.0 to qcacld-3.0 propagation
Firmware sends 0x127 as the invalid snr value when it is in a
state of unable to get it from either a beacon or data packet
CRs-Fixed: 939255
Change-Id: Ia45a8c4acd6a54ff3e56b192c11cea0df97eadaf
TDLS wider band width is not yet supported, but it is
incorrectly advertised in TDLS action frames.
Remove the wider bandwidth advertisement from VHT IE
in TDLS action frames.
Change-Id: I66f0e5d147af93100a7780b14636ba6438330584
CRs-Fixed: 1028205
The channel width of the TDLS direct link
on the base channel shall not exceed the
channel width of the BSS to which the
TDLS peer STAs are associated.
Add changes in the host driver to restrict
TDLS channel width to equal to BSS channel
width
Change-Id: I5c640164b3c747a55bde3efc553d2861057ebf42
CRs-Fixed: 1028201
Propagation from qcacld-2.0 to qcacld-3.0
When a radar is indicated from WMA to HDD, it happens in a soft
irq context and the dfs_radar_found flag is set by acquiring
a mutex which leads to apps crash. The crash happens if the mutex for
dfs_radar_found flag is being held by the main thread and as a result
the soft irq thread seeking the same mutex will be put in the kernel
sleep queue leading to apps crash as sleeping is not allowed in soft irq
context.
Fix the issue by using spinlock instead of mutexes. An exception
has been made to use the spinlock in the main thread context to
work around the complications involving for radar indication
callback to happen in worker thread context instead of soft
irq context.
Change-Id: I4bc01ac8991c593ffcaf6ee532f4594cb8beba16
CRs-Fixed: 928394