If no channel is safe in ACS channel list, select default channel
instead of returning start failure for SAP.
Change-Id: I974a573f5000720a62e58aaff5a71412c2fae7bf
CRs-Fixed: 2424847
When scheduler thread is suspended, it will not process
any messages until it is resumed. If messages are posted
to scheduler thread when it is suspended, it will lead
to KP due to scheduler buffer becoming full.
Add check for hdd_ctx->hdd_wlan_suspended in __hdd_tx_timeout
before posting any message to scheduler.
Change-Id: Ic0bc6ec0dda23e2a6eaf59adb21f0bca5f2707df
CRs-Fixed: 2428339
Remove unused members from wma_txrx_node,
t_wma_handle structures and related code.
Change-Id: Ia5b290e3367a894646f138cfeedcb9ab3012e9be
CRs-Fixed: 2412738
Currently HDD is populating SAP configuration values and
sending it down to SAP module instead use the respective
MLME CFG public API's to get the configuration values.
Move following CFG values:
1. sap_chanswitch_beacon_cnt
2. sap_chanswitch_mode
3. protEnabled
4. chan_switch_hostapd_rate_enabled
5. tx_leakage_threshold
6. ht_capab
7. UapsdEnable
8. obssProtEnabled
Change-Id: Id62492d5374b9a3f8ab9cbf57e474cc9f78a791d
CRs-Fixed: 2411126
Avoid allocating and initializing memory for rx threads when
in monitor mode as they are not used.
Change-Id: I7521697e3f7033e85fad0b416d8a34aab28755d5
CRs-Fixed: 2424812
The Linux Coding Style frowns upon mixed-case names so
wlan_hdd_cfg80211_link_layer_stats_ext_callback() variable
linkLayer_stats_results is not compliant. But rather than
rename it, just remove it, since its use does not really
improve the code.
Change-Id: I5f8c6e5473d64d03662e664a474ad4293ca7310d
CRs-Fixed: 2427185
The Linux Coding Style frowns upon mixed-case names so rename HDD
identifier vdevId to be compliant.
Change-Id: Ia1328dec457b3bcacdeb53df87684469e8b875fc
CRs-Fixed: 2427184
The Linux Coding Style frowns upon mixed-case names so rename HDD
identifier numInterfaces to be compliant.
Change-Id: Ie2cb20a4446b02ef1c4724f4cdecc90c6aba7b82
CRs-Fixed: 2427183
The Linux Coding Style frowns upon mixed-case names so rename HDD
identifier deviceMode to be compliant.
Change-Id: I24c3ffc1c477eb65ebb04ea1434d1902b1fec343
CRs-Fixed: 2427182
The Linux Coding Style frowns upon mixed-case names so variable staMac
in hdd_get_interface_info() is not compliant. But rather than rename
it, just remove it, since its use does not really improve the code.
Change-Id: If4db592fe2b7728d7c03c1415c9d9e8aeb7c1cf2
CRs-Fixed: 2427181
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD identifier pInfo to be compliant.
Change-Id: I4c3a95d2356023872e8d868c6f6d8e8607312329
CRs-Fixed: 2427180
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD identifier pData to be compliant.
Change-Id: Ibcbc03bbe11033f4a44728603d9184f5b188db18
CRs-Fixed: 2427179
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD identifier pWifiRadioStat to be
compliant.
Change-Id: I2728a0e2a4244caf70aa96fce291df3d7eef681b
CRs-Fixed: 2427178
The Linux Coding Style frowns upon so-called Hungarian notation so
rename HDD identifier padapter to be compliant.
Change-Id: I5fcc20ea16f088b4ec0001425b069a14ecf9c4d8
CRs-Fixed: 2427177
The Linux Coding Style frowns upon so-called Hungarian notation so
rename HDD identifier phddctx to be compliant.
Change-Id: I36541226f54efd2421772cebc233566f16ed8039
CRs-Fixed: 2427176
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirWifiRadio typedef does not
meet any of those criteria, so replace it with uint32_t.
Change-Id: I5f733f4a4aa07803c3719108169e6aeb98293c5e
CRs-Fixed: 2427175
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirWifiRadioStat typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a properly named struct.
In addition the Linux Coding Style frowns upon mixed-case names so
rename the members which are currently not compliant.
Also remove the obsolete tx_time_per_tpc array since it is unused.
Change-Id: I40aa287e01dc8d12ba803858cc54e79a6fccb8c9
CRs-Fixed: 2427174
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirWifiChannelStats typedef
does not meet any of those criteria, so replace it (and the "tp"
variant) with a properly named struct.
In addition the Linux Coding Style frowns upon mixed-case names so
rename the members which are currently not compliant.
Change-Id: I45562da6441fec1af35483d390057a2693e5d02a
CRs-Fixed: 2427173
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirWifiRate typedef does not
meet any of those criteria, so replace it (and the "tp" variant) with
a properly named struct.
In addition the Linux Coding Style frowns upon mixed-case names so
rename the rateMcsIdx member to make it compliant.
Change-Id: I719c9c563f5b382b0734be086bee4e5e89fe85aa
CRs-Fixed: 2427172
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirWifiChannelInfo typedef
does not meet any of those criteria, so replace it (and the "tp"
variant) with a properly named struct.
In addition the Linux Coding Style frowns upon mixed-case names so
rename the members which are currently not compliant.
Change-Id: I2c0647cc48d0ed805974dd9ea399ca742aabc17f
CRs-Fixed: 2427171
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirWifiChannel typedef does
not meet any of those criteria, so replace it with uint32_t.
Change-Id: I775fc6b79ce6c4ef7dc8b94be127127c51e0d600
CRs-Fixed: 2427170
The enumerations provided by typedef tSirWifiChannelWidth duplicate
the ones provided by common enum phy_ch_width, so utilize the common
definition.
Change-Id: Ie2573858a010a97cee2903d7d029671bb7a60219
CRs-Fixed: 2427169
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirWifiPeerStat typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a properly named struct.
In addition the Linux Coding Style frowns upon mixed-case names so
rename the members which are currently not compliant.
Change-Id: I337e2329d544e0b6daf6650f826e736f2492ef30
CRs-Fixed: 2427168
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirWifiPeerInfo typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a properly named struct.
In addition the Linux Coding Style frowns upon mixed-case names so
rename the members which are currently not compliant.
Change-Id: I1b4c872efc895e048184ea3e589dfd8ad3efab15
CRs-Fixed: 2427167
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirWifiRateStat typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a properly named struct.
In addition the Linux Coding Style frowns upon mixed-case names so
rename the members which are currently not compliant.
Change-Id: Iff54772fda084fee932f6669ab937e136ab2cf66
CRs-Fixed: 2427166
Currently, there is no information for roam reason
in csr
Fix,check 4 LSB of roam_synch_data for roam reason
and send roam_reason to hdd
Change-Id: I4306339eb69db3bfc05fac79b13e3693582ff05d
CRs-Fixed: 2425911
napi_gro_receive packet frees skb on success or drop(GRO_DROP).
Current code is trying to handle failure case by delivering skb
via non napi_gro_receive API. In case the packet is dropped by GRO,
this leads to access of freed skb.
Donot requeue GRO dropped skb to network stack.
Change-Id: Ibfbb8d4ac7f77cf3547da8c2ebc4f3fea8d226d0
CRs-Fixed: 2409252
Currently the key information i.e the key, and the number of keys
are not getting cleared on wifi link disconnection from wifi
driver memory, which can lead to information disclosure.
Clear the key information i.e the number of keys and
keys from wifi driver memory to avoid any potential information
disclore after wifi is turned off.
Change-Id: I45306e0d648c500f63f723b4e3ccb6098c055158
CRs-Fixed: 2415413
The condition check of for loop in hdd_get_max_rate_legacy() was not
propagated properly, it was a dead loop. Add missed i checking.
Change-Id: I7daf623e3bb70f6a691fd62cfd4e737f7e54a791
CRs-Fixed: 2425605
In case of STA+SAP, if STA connect to new channel, driver check
if SAP channel switch is required. Before this it wait if channel
switch is already in progress, if not it continue and check if
channel change is required. While waiting in case where event was
set and channel switch was not in progress, the even gets reset
after waiting.
So if event is not set again, i.e in case SAP channel change is not
required. Any subsequent wait on the event will result in timeout.
Also while changing channel this event is reset and then the
concurrency checks are made and if checks fails the channel change
may not happen leaving event in reset state.
So wait for event only if channel switch is already in progress.
Also reset the event once all concurrency checks have passed and
channel change is started.
Change-Id: Iffcd8b2bf9dc7cbbd7d939983601cc395ef4c515
CRs-Fixed: 2425145
In HL when psoc idle timeout is triggered, timer leak is detected
and host triggers panic.
When driver is loaded, upon device probe tx flow control timer is
initialized. When there is no activity on interface psoc idle timeout
is triggered and later during hdd_wlan_stop_modules host triggers
panic since tx flow control timer still exists. tx flow control timer
is deregistered in hdd_stop_adapter function which is not executed
during hdd_wlan_stop_modules.
Move tx flow control timer registration from hdd_open_adapter to
hdd_start_adapter function to avoid timer leak and panic
Change-Id: Id3677d09441e23f1e9e36cdf77e956d6871c46ec
CRs-Fixed: 2415146
Currently driver disables channels received in
SET_DISABLE_CHANNEL_LIST command, only when sap is turned
on (on start bss). According to new requirement, channels
should be disabled as soon as the command is received.
To meet above expectation, update the set disable channel list
command functionality to disable the channels as soon as the
command is received.
CRs-fixed: 2424991
Change-Id: I596c21847e90efef9676f20df528aed77e927519
If the netdevice registration fails, the netdevice is freed
by referencing the context in the adapter structure.
However, in some scenarios the registration failure can result
in the netdev ops uninit being called where the reference is
reset and hence invalid.
Fix this by saving the netdevice in a local variable
Change-Id: Id01bf5d3fe633432695520bda77697842ced9ff1
CRs-Fixed: 2423508
FR29306 has requirement to receive ECSA action frame from P2P-GO
Change id Ie9ddbf10c13f62205fdd60c512a560b35c6610ba broke this
Allow P2P-GO channel switch in response to ECSA Frame
CRs-Fixed: 2424413
Change-Id: Id388b0b6a5610b41d4da0dcda98974d9d0495eb5
For WPA3 SAE test case 4.2.7, SAP should reject the association
request with PMF disabled from SAE STA.
Change-Id: Ie2298313ce5a7a363afdb4478f541cf2da612603
CRs-Fixed: 2387822