Add curr_op_freq in pe_session. And finally remove
currentOperChannel from pe_session in next few changes.
Change-Id: I2529a1637299b8dacf7fa6e2a81db851584453ee
CRs-Fixed: 2489613
Kernel maintains a list of bss and it adds/updates the bss
entries whenever driver informs it. When driver receives
beacon or probe response from any ap it informs kernel to
update the bss list and whenever it disconnects with the
AP driver unlink the bss in the kernel.
If the AP is hidden, when driver gets beacon from this
hidden AP it informs the kernel to update the bss list.
kernel add this entry to it's bss list with NULL SSID.
Now when driver receives probe response from this hidden
AP it again informs the kernel to update the bss list,
as this is probe response and ssid is not hidden,
kernel treats this entry as new entry and adds it to
its bss list and links this entry to the older hidden
AP entry (But still these are two entries for hidden AP).
When driver gets disconnect from the AP it unlink the
bss entry corresponding to this AP from kernel's bss
list, but since there are two entries for the same AP
as the AP is a hidden AP, driver should clear hidden AP
entry (Which was added as part of beacon) which is
not happening currently.
Now when AP moves from hidden to broadcasting SSID
in it's beacon, kernel drops this beacon entry as its
confusing because there is already a beacon entry with
hidden bss for this AP. During connection driver tries
to update the entry in the kernel and it fails as kernel
drops the beacon resulting into the connection failure.
To resolve this issue, whenever driver unlink the bss
entries from the kernel bss list unlink the hidden bss
entries also from the kernel's bss list.
Change-Id: I03a8517878b3db769bf28a157579179e1dd762e2
CRs-Fixed: 2488887
For some branches, we disabled BUILD_DEBUG_VERSION, to avoid compile
issues, add macro for new function which only will be used at
QDF_TRACE().
Change-Id: Idd0bb3a98ef92b837e14bd4e8e3c374b1b6a7e58
CRs-Fixed: 2492501
During idle restart, system suspend is happening, which is leading
to timeout because idle restart task is frozen during system suspend.
To avoid the timeout, add a wakelock for idle restart to prevent
system suspend.
Change-Id: Iffb6151452680df8cb4fb98e8646112e780881f8
CRs-Fixed: 2490321
Currently ASPM is not enabled for FTM mode. Enable it to test low power
mode in FTM.
CRS-Fixed: 2491207
Change-Id: I997225d33c94ed870dda2354bac256d9d1ca855d
Enable following special 4 ports concurrency for Auto HST
platform.
(SAP+STA) (2.4G MAC SCC)+(SAP+STA) (5G MAC SCC).
Change-Id: I6ab34606a98c1e4a670de63e12e54f2becd4d1d4
CRs-Fixed: 2457713
Enable following special 4 ports concurrency for HST:
(SAP+STA) (2.4G MAC SCC)+(SAP+STA) (5G MAC SCC).
1. Update pcl table for fourth connection
2. Increase max connection number to 4
3. Add concurrency allow check for 4 ports
Change-Id: Ib87bcfd845208f0ed8821c7e18b2f30833db22b7
CRs-Fixed: 2457713
Add additional bandwidth level for "very high" bandwidth. As per the
default configuration if the total number of tx/rx packets exceeds
bus_bw_very_high_threshold, the bus bandwidth requirement is designated
as PLD_BUS_WIDTH_VERY_HIGH and PLD API is called with this value.
Default value of 7000 is chosen for bus_bw_very_high_threshold, which
amounts to 820Mbps of throughput considering a 1500 byte packet and
100ms bandwidth timer interval.
Change-Id: I3bd904429a02ec4935ba12da7c2cfd37eec738ed
CRs-Fixed: 2489362
Replace channel ID(rx_channel) with channel frequency(
rx_freq) in struct bss_description.
Remove a few camel cases in function
lim_collect_bss_description.
Change-Id: Ic6051fa62d2fe0aa10a6d2a3568aeff75daa813f
CRs-Fixed: 2492155
As requirement, it's also needed to print country code in iwpriv
getChannelList under hostapd mode, align the output of getChannelList
in sta/hostapd mode. At the same time, in __iw_get_channel_list(),
the wrqu->data.length should be (the actual channel number+1), not
sizeof(struct channel_list_info), otherwise there would be many
zeros if call iw_get_channel_list() directly.
Change-Id: I1e0fc1a026bf6c3fff2947ab4712a1800214ec0c
CRs-Fixed: 2476458
wma_roam_event_callback can get called in atomic context from
wma_wake_event_piggybacked for reason WMI_ROAM_REASON_HO_FAILED
which lead to acquiring of pm_ctx->qdf_conc_list_lock mutex lock
in atomic context.
To fix this post msg to scheduler thread to call the policy mgr
API in scheduler thread context
Change-Id: I6b75de64a33559b73a7edc73e1100cfb3a1f507d
CRs-Fixed: 2491147
The host driver serialization module currently supports upto 4
commands in non scan pending queue. This is calculated at the
wlan_serialization_vdev_create_handler() as:
max_pending_cmds = (WLAN_SER_MAX_PENDING_CMDS /
WLAN_SER_MAX_VDEVS)
But in SAP case, if multiple STA sends deauth at the same time,
4 pending commands in non scan pending queue is not sufficient
and will result in only disassoc from the first 4 STA getting
honored.
The current host wlan driver supports 3 SAP mode and
2 STA vdevs amounting to a total of 5 vdevs supported.
So calculate the total non scan pending commands for
serialization based on the total peers supported for each
mode to fix this issue.
In SAP case, maximum 32 peer are supported and for STA case,
maximum 4 pending commands for serialization. So change the
max pending commands calculation as:
max_pending_cmds = (No. of sap modes supported * 32) +
(No .of STA modes supported *4 )
Change-Id: I30b2d79f2c15a092060dbdd729e1d035eb36fd83
CRs-Fixed: 2468945
2G active dwell time parameter is not updated as per
requested duration value from 11k supported AP.
Updated 2G active dwell time scan request parameter
with the beacon measurement requested duration.
Change-Id: I93ab71aea3317e21dab4eccce8c698a6fe3a366d
CRs-Fixed: 2487725
The functions hdd_sysfs_create_adapter_root_obj() and
hdd_sysfs_destroy_adapter_root_obj() are declared but not
implemented if CONFIG_WLAN_SYSFS is not defined but
CONFIG_FEATURE_BECN_STATS is defined. Do not enable
CONFIG_FEATURE_BECN_STATS if CONFIG_WLAN_SYSFS is not defined.
The monitor mode should not be supported by sdxprairie arch.
Change-Id: I583af70dfdba8f14e4967c805672ecd8a17640d1
CRs-Fixed: 2481850
On single MAC devices, when a SAP or P2P-GO is already operating
on a DFS channel, MCC mode is not allowed. It is currently
possible, even with a SAP on DFS channel, to connect to a 2.4G
AP using the command: iw interface connect SSID [AP freq]
Add additional checks in policy manager to prevent this
MCC situation.
Change-Id: I9adf063fbc1cb4c2d3f22f6b4d1bb00beb079007
CRs-Fixed: 2485436
Replace channel ID(channelId) with channel frequency(
chan_freq) in struct bss_description.
Add code for chan_freq's value population in the same
struct wherever channelId's value population occures.
Remove a few camel cases detected by checkpatch.
Change-Id: I84d193b67f642df310997865ec6e1b62e3518f98
CRs-Fixed: 2488826
Replace channel ID(currentReqChannel) with channel frequency(
curr_req_chan_freq) in struct pe_session.
Remove a few camel cases captured by checkpatch.
Change-Id: I56b5d411632ae3b7069fcfac843626435c5b27a2
CRs-Fixed: 2488084
If stop_ap is given to driver in case of SSR and other FW down cases,
because of invalid vdev id and validate context, failure
status is given to kernel. In such case beacon interval value
is not reset and that will lead to faliure of
subsequent set beacon commands.
In case of validate context failure, return success to upper layer
so that kernel variables like beacon interval can be cleaned up.
Change-Id: I03748a87ffcf38a260134a54fe5dce8f77f08739
CRs-Fixed: 2472089
In the htt_ipa_uc_get_resource, rx2_rdy_ring is from
pdev->ipa_uc_rx_rsc.rx2_ind_ring, rx2_proc_done_idx is
from pdev->ipa_uc_rx_rsc.rx2_ipa_prc_done_idx, but
rx2_ind_ring & rx2_ipa_prc_done_idx are not used for
WDI 1.0, just only used for WDI 2.0, which initialized in
the htt_rx_ipa_uc_alloc_wdi2_rsc. So as for Rome that use
WDI 1.0, these two variables are not initialized and thus
they are NULL pointers. Therefore this change can fix NULL
pointer deference for WDI 1.0 when CONFIG_IPA_WDI_UNIFIED_API
is defined and meanwhile QCA_WIFI_3_0 used to distinguish WDI 2.0
and WDI 1.0 IPA RX params.
Change-Id: I0378753dcedde4f398885d930a4cbbb2c854c110
CRs-Fixed: 2483879
Fix the issue of NAN getting disabled in NAN+SAP concurrency
when SAP and NAN operate in different bands and host processes
LTE coex event for unsafe channel update.
Change-Id: I4f2d63a5283bd75712aa3bd9a3b3f278a28b0951
CRs-fixed: 2486595
In cds_sched_find_attach_cpu function, change calls to functions
cpumask_clear, cpumask_set_cpu, and cpumask_setall to instead use the
QDF abstraction of these functions qdf_cpumask_clear,
qdf_cpumask_set_cpu, and qdf_cpumask_setall.
Change-Id: Ibd62e4d0f38ad3b8f2483e6cf40d56fcb70cba10
CRs-Fixed: 2486827
Current band value is updated with new setting and the new band
setting is allowed only if the new band setting value is lower
configuration than the current one else it fails the new band
setting. If user configures band setting to lower value and
if later setting value has higher configuration then the current
band check fails the new setting.
Remove the current band check during new band setting by runtime
user configuration.
Change-Id: I3facf99e567e34de3eb675f29962bf809040244e
CRs-Fixed: 2486679
Some of softap APIs like hdd_softap_register_sta() contain sta_id
validation check against maximum value of HDD_MAX_ADAPTERS before
accessing adapter->sta_info[sta_id].
Since the maximum size of adapter->sta_info[] is WLAN_MAX_STA_COUNT
and less than HDD_MAX_ADAPTERS (used in sta_id index validation)
array out of bounds access is possible.
To fix this, validate sta_id index against maximum value of
WLAN_MAX_STA_COUNT instead of HDD_MAX_ADAPTERS.
Change-Id: I18390a76a3bee852a9d6ca3dde4382fa94387594
CRs-Fixed: 2486518
It just support to tx probe request/response and action frames, and
reject to tx other frames. So add this change to support other mgmt
frames.
Change-Id: I6d99f1c1b0187105fc8eec1f170483980819d0ae
CRs-Fixed: 2485734
Check if host is reaping a descriptor which is already
reaped then drop RX desc processing instead of asserting.
Macro DUP_RX_DESC_WAR added before dp_rx_dump_info_and_assert function
which does not assert for the case WAR is enabled.
Change-Id: I8a095d33e4f7e868340d9a76618c064af764386d
CRs-Fixed: 2487793