Commit Graph

8704 Commits

Author SHA1 Message Date
Rajeev Kumar
a6268de325 qcacld-3.0: Register fw down callback with QDF
Register fw down callback with QDF such that new UMAC
components can check if FW is down or not.

Change-Id: I86346db08ced59bb5f77c640eb7f9257cc0bb42c
CRs-Fixed: 2203498
2018-03-16 10:35:37 -07:00
nshrivas
8b41e926aa Release 5.2.0.70E
Release 5.2.0.70E

Change-Id: Icde3f2b30d2ed32d1ad3951c4a31ead8be1e7d89
CRs-Fixed: 774533
2018-03-16 09:30:54 -07:00
Jeff Johnson
61b5e98c2a qcacld-3.0: hdd: Utilize struct csr_roam_profile
In hdd replace typedef tCsrRoamProfile with struct csr_roam_profile to
align with the Linux coding style.

Change-Id: I38959a6dadc7f1816548f2fa1c4b404e57070590
CRs-Fixed: 2206694
2018-03-16 09:30:54 -07:00
nshrivas
cb1b5daac5 Release 5.2.0.70D
Release 5.2.0.70D

Change-Id: Ifd83bbd0a7d36900c6a72e9f2bfce2b2f930c948
CRs-Fixed: 774533
2018-03-16 08:35:00 -07:00
Ashish Kumar Dhanotiya
36d19b09ca qcacld-3.0: Cache last connection info
Prima to qcacld-3.0 Propagation

Currently last connection info is not getting cached, so when
GETBSSINFO command comes information is extracted from current
conn_info which does not contain all the information required
as this information is cleared after disconnection.

To address this issue cache the connection info before
clearing it.

Change-Id: I3ec13264f97e7a4d0dc4699b463074062d087e82
CRs-Fixed: 2204530
2018-03-16 08:34:59 -07:00
nshrivas
3b7213860a Release 5.2.0.70C
Release 5.2.0.70C

Change-Id: I12c2143b72c1dc90717b5845f575037765f89e98
CRs-Fixed: 774533
2018-03-16 07:33:49 -07:00
Yeshwanth Sriram Guntuka
77dd515056 qcacld-3.0: Add P2P IE at end of beacon buffer
P2P IE extracted in wlan_hdd_add_hostapd_conf_vsie may not
be at the end of additional IE buffer as it depends on the
order of IEs coming from supplicant.LIM and WMA expect P2P
IE at the end of beacon buffer and beacon template is sent
without including P2P IE at end which is sent using separate
WMI command. This could result in beacon corruption if P2P
IE is not present at the end of beacon buffer.

Fix is to strip the P2P IE and append it at the end of beacon
buffer.

Change-Id: I59ecb31cd2441880c444cb6e1408d668da59c8c2
CRs-Fixed: 2207040
2018-03-16 07:33:49 -07:00
nshrivas
d6357fd1e7 Release 5.2.0.70B
Release 5.2.0.70B

Change-Id: I9fdbf6176184f825ec0f740f8bc8ddd6495630be
CRs-Fixed: 774533
2018-03-16 05:26:21 -07:00
Zhu Jianmin
3c83a848cb qcacld-3.0: Fix use after free in roaming disassoc rsp handler
During Rome LFR2 roaming, after pre-auth with new AP finished,
current AP is disassociated. In disassoc rsp handler:
csr_roam_roaming_state_disassoc_rsp_processor,
csr_roam_copy_profile is called after csr_dequeue_command.
In csr_dequeue_command, cmd from active list is removed, cmd from
pending cmd list is moved to active list and executed, if the cmd
is disassoc from wpa supplicant, pSession->pCurRoamProfile is
freed,  use after free happens in csr_roam_copy_profile

call stack when issue happens:

csr_roam_roaming_state_disassoc_rsp_processor
 ->csr_dequeue_command
    ->wlan_serialization_dequeue_cmd
       ->wlan_serialization_move_pending_to_active
          ->wlan_serialization_activate_cmd
             ->sme_ser_handle_active_cmd
                ->csr_roam_process_command
                   ->csr_roam_process_disassoc_deauth
                   -> csr_free_roam_profile
 ->csr_roam_copy_profile

Fixed by calling csr_dequeue_command after csr_roam_copy_profile

Change-Id: I903795e830c153b94a7dc0476a0e8ea5ecf6be2f
CRs-Fixed: 2205645
2018-03-16 05:26:20 -07:00
nshrivas
8831a53dbe Release 5.2.0.70A
Release 5.2.0.70A

Change-Id: I57f29fb09f76261ff7901fe0711af6af96f6d6f7
CRs-Fixed: 774533
2018-03-15 18:33:35 -07:00
Hanumanth Reddy Pothula
5c7a78161d qcacld-3.0: Don't process set mac net dev operation on interface up
Presently driver is processing set_mac net dev operation while
device is running, though the same is not supported, leading lower
layers and firmware to hold old mac address and kernel net device
object to hold new address.

Process set_mac net dev operation only on interface is down so that
during interface up new mac address will be programmed in lower layers
and firmware.

Change-Id: I037afa31657a6f1eb1129feae6777d8bcfa1b7a9
CRs-Fixed: 2171548
2018-03-15 18:33:35 -07:00
Hanumanth Reddy Pothula
538748570c qcacld-3.0: Validate length argument's lower boundary
While processing set key vendor command, lower boundary of key
length isn't validated properly, which might lead to buffer overflow.

Validate lower boundary of key length argument properly before
processing set key vendor command.

Change-Id: Ic7a6367db507e652a39a82c6489d64937f1b3429
CRs-Fixed: 2200948
2018-03-15 18:33:28 -07:00
nshrivas
d54049923c Release 5.2.0.70
Release 5.2.0.70

Change-Id: Ieadb23cb2ec3ce9a8c3d31e9009d438b5b59203d
CRs-Fixed: 774533
2018-03-15 17:31:10 -07:00
nshrivas
8ab975d7b9 Release 5.2.0.69Z
Release 5.2.0.69Z

Change-Id: I78c6bf25ce8a0b3e35b25e813b98e4c9b8421fc4
CRs-Fixed: 774533
2018-03-15 15:12:17 -07:00
Hanumanth Reddy Pothula
560d5713d6 qcacld-3.0: Reset acs configuration after freeing acs channel list
Presently, on receiving DO_ACS vendor command driver resets
acs configuration to zero. This leads dynamically allocated
memory acs channel list address to be lost and thereby memory
leak is observed.

Reset acs configuration after freeing acs channel list, if its
already allocated.

Change-Id: Ice6854bfe8b12799200a5b18d96620f31548d776
CRs-Fixed: 2196377
2018-03-15 15:12:17 -07:00
Rajeev Kumar
fdb0189a4a qcacld-3.0: Add SSR protection wrapper for memdump read
Memdump read API is missing SSR protection wrapper which means
this ready operation can be issued durign driver unload which
can race against memdump deinit and lead to panic in kernel.
Hence add SSR protection wrapper to memdump read API such that
it does not race against driver unload/SSR/module stop.

Change-Id: I32d5ab715c9609abaf8eaaf3ed3db6f77aa8ddea
CRs-Fixed: 2205925
2018-03-15 15:12:12 -07:00
Dustin Brown
7678b6cb60 qcacld-3.0: cleanup wma_rx_service_ready_event
There are several redundant operations and unused variables in
wma_rx_service_ready_event. Remove these, and adjust some formatting and
incorrect types while we are at it.

Change-Id: Ia6376ef0e984103e36ab0395b54466acf0ad2d04
CRs-Fixed: 2201875
2018-03-15 15:12:07 -07:00
Dustin Brown
67d69ebbfd qcacld-3.0: Update firmware filter config (part 2)
In order to conserve firmware memory when various filtering features are
not in use, update the target configuration provided to firmware based
on the intersection of various filtering features and host
configuration.

Part 1
	num_wow_filters = ARP/NS offload enabled ? 2 : 5
	bpf_instruction_size - BPF enabled ? 0 (auto) : 0xffffffff

Part 2
	num_packet_filter = Packet Filter enabled ? 12 : 0xffffffff

Change-Id: Ie8cb4ae44c83b115b249e22ebd7146278ed70612
CRs-Fixed: 2199297
2018-03-15 15:11:59 -07:00
nshrivas
c2bc570e80 Release 5.2.0.69Y
Release 5.2.0.69Y

Change-Id: If0533d2478b4960b59b0955156a90c14b3883647
CRs-Fixed: 774533
2018-03-15 11:51:02 -07:00
Abhishek Singh
a6e5c3f0bf qcacld-3.0: Change default value of pcl_weightage to 10
Change default value of pcl_weightage to 10, so that PCL weightage
is used while connecting to a profile to select best BSS.

Change-Id: Ic074e01480d32510fb355846d92cb81d01e6e0d8
CRs-Fixed: 2206140
2018-03-15 11:51:02 -07:00
nshrivas
b6b0760f6f Release 5.2.0.69X
Release 5.2.0.69X

Change-Id: Ic0c289617ddcd50c7e7400432eaf2b99c98e8deb
CRs-Fixed: 774533
2018-03-15 09:32:42 -07:00
Yeshwanth Sriram Guntuka
a3f8d57005 qcacld-3.0: Update tx params if 2.4G APs min supported rate is 6Mbps
In STA mode, tx params for auth and assoc req frame
are not updated if minrate is 1 or 6Mbps as these
are the default rates for 2.4G and 5G respectively.
If 2.4G APs min supported rate is 6Mbps, the tx params
are not updated which results in auth and assoc req
frame transmitted at 1Mbps.

Fix is to update tx params if minrate is 6Mbps and
AP is operating in 2.4G.

Change-Id: Ia12c7b13cfb93e2d3b5a4ae124003248fa109e3f
CRs-Fixed: 2205282
2018-03-15 09:32:41 -07:00
Tiger Yu
f3d5d7f5f1 qcacld-3.0: Do not enable the pktlog when interface is up
The pktlog will be enabled when interface is up. Which might affect
the performance heavily. So do not enable it at the initialization
to avoid this side effect.

Change-Id: Ie03a7e0a77bc5f525ad7ae74bb104a6d1bf21eb7
CRs-Fixed: 2206216
2018-03-15 09:32:35 -07:00
nshrivas
e78aede884 Release 5.2.0.69W
Release 5.2.0.69W

Change-Id: I2a32a8c846bfce192dc209ac5106280bf981b65c
CRs-Fixed: 774533
2018-03-15 08:04:58 -07:00
Dustin Brown
e74003faac qcacld-3.0: Rename ENTER/EXIT macros (part 3)
In order to better align with the rest of the driver, rename the
following macros:
 * ENTER -> hdd_enter
 * ENTER_DEV -> hdd_enter_dev
 * EXIT -> hdd_exit

For part 3, migrate usages of EXIT

Change-Id: I0868800b694c92d2ad157394d619c05f89dd222d
CRs-Fixed: 2205840
2018-03-15 08:04:58 -07:00
Zhu Jianmin
6a7b702184 qcacld-3.0: Fix ifconfig wlan0 up failed on Rome
Fix 2 sub issues:
1. wlan_hdd_update_dbs_scan_and_fw_mode_config and
sme_soc_set_dual_mac_config is called in
hdd_wlan_start_modules->hdd_configure_cds->hdd_features_init,
before hdd_start_adapter,  so vdev isn't created yet,
csr_queue_sme_command returned failed

Fixed by moving wlan_hdd_update_dbs_scan_and_fw_mode_config to
end of hdd_start_adapter

2. Rome doesn't support DBS, doesn't support cmd and wmi service
WMI_PDEV_SET_MAC_CONFIG_CMDID. so no response event for the cmd,
the cmd can't be removed from active list. so next cmd:
WMA_ADD_STA_SELF_REQ can't be executed at all, no complete event
for sme_open_session, hdd_init_station_mode failed

Fixed by checking whether support HW DBS before
sme_soc_set_dual_mac_config

Change-Id: Iec2ef7e77e91f332028904c319d24e1ed134306d
CRs-Fixed: 2202262
2018-03-15 08:04:55 -07:00
Rajeev Kumar
f5a17acdc7 qcacld-3.0: Remove redundant extern keyword from wext public APIs
Some of wext public APIs are declared using extern storage
class specifier which is not needed hence clean up extern
keyword from wext public API declarations from wlan_hdd_wext.h

Change-Id: Ib1fe79a94b62bc457784340a7e930489fffe98f9
CRs-Fixed: 2202699
2018-03-15 08:04:52 -07:00
Dustin Brown
5e89ef8673 qcacld-3.0: Remove hdd_notice
hdd_notice() is a redundant re-definition of hdd_info(), so remove it.
Replace existing usages with hdd_info() or hdd_debug() as appropriate.

Change-Id: Ie8ce7530c0118eff740975dcce396b68c2115429
CRs-Fixed: 2205815
2018-03-15 08:04:50 -07:00
Himanshu Agarwal
813b2bf082 qcacld-3.0: Handle concurrency for green AP component
Invoke green AP start/stop based on the current concurrency
and present state of green AP state machine.

Change-Id: I5648d236e6492f326c7ba9951da550e229352412
CRs-Fixed: 2173952
2018-03-15 08:04:47 -07:00
Rachit Kankane
0baf6e723f qcacld-3.0: Compile out MTRACE feature
Fix to disabled MTRACE feature

Change-Id: I400933feecc54b46bd9aebdbc2cb5440c882112b
CRs-Fixed: 2189869
2018-03-15 08:04:44 -07:00
nshrivas
26da5bba98 Release 5.2.0.69V
Release 5.2.0.69V

Change-Id: I081c54eaf7b87d367ec010020f7783a8bdd1339f
CRs-Fixed: 774533
2018-03-15 06:08:38 -07:00
Dustin Brown
bacc48f334 qcacld-3.0: Remove redundant FL in HDD
The hdd_* logging wrappers already inject the calling function and line
number information, but several consumers are wrapping the format string
in a call to FL, which does the same thing. Remove redundant calls to FL
in HDD.

Change-Id: Ieb3e54f707579296fbfdbce74496800cf14ecd0a
CRs-Fixed: 2205912
2018-03-15 06:08:38 -07:00
Dustin Brown
fdf17c1e26 qcacld-3.0: Rename ENTER/EXIT macros (part 4)
In order to better align with the rest of the driver, rename the
following macros:
 * ENTER -> hdd_enter
 * ENTER_DEV -> hdd_enter_dev
 * EXIT -> hdd_exit

For part 4, migrate usages of ENTER_DEV

Change-Id: I53628486c9acf5c444c2a97c40ab02324e9a00d7
CRs-Fixed: 2205843
2018-03-15 06:08:35 -07:00
bings
3fe5bc31bf qcacld-3.0: Configure phyerr filter offload before sap starts
Do not send phyerr filter offload to FW when dfs module is doing
initialization, because in target_if_dfs_set_phyerr_filter_offload
routine GET_WMI_HDL_FROM_PDEV returns NULL at this time.

Configure phyerr filter offload before sap starts.

Change-Id: I60436fc1e142937383a3714c727166bc5fa8d0db
CRs-Fixed: 2205229
2018-03-15 06:08:32 -07:00
nshrivas
e2b1cb8076 Release 5.2.0.69U
Release 5.2.0.69U

Change-Id: I59c3142dc72e7901a9997346185eb5e3d8e76403
CRs-Fixed: 774533
2018-03-15 04:25:59 -07:00
Surabhi Vishnoi
75b1a81aea qcacld-3.0: Modify the arguments of wmi_unified_attach
The params are passed individually as argument in wmi_unified_attach.
Instead of individual params, use a struct for wmi attach params.
Also pass max commands as param in wmi attach.

CRs-Fixed: 2192801
Change-Id: I28d5985655b436da048d72d33fe0fb4f57e85a50
2018-03-15 04:25:59 -07:00
nshrivas
0d396a2711 Release 5.2.0.69T
Release 5.2.0.69T

Change-Id: I3d0812020675809fd7c8dcf75e0ecb8b5e67bbbf
CRs-Fixed: 774533
2018-03-14 22:34:04 -07:00
nshrivas
8ebf09757a Release 5.2.0.69S
Release 5.2.0.69S

Change-Id: Ia5fa1c45d7ea9aec0c263f28abdd12b6bcd784dc
CRs-Fixed: 774533
2018-03-14 17:58:35 -07:00
Dustin Brown
32a6118d85 qcacld-3.0: Rename ENTER/EXIT macros (part 1)
In order to better align with the rest of the driver, rename the
following macros:
 * ENTER -> hdd_enter
 * ENTER_DEV -> hdd_enter_dev
 * EXIT -> hdd_exit

For part 1, introduce the new macros

Change-Id: I82fed51ed676041352acfeff20923c58ade4a826
CRs-Fixed: 2205830
2018-03-14 17:58:34 -07:00
nshrivas
d9d256c172 Release 5.2.0.69R
Release 5.2.0.69R

Change-Id: I7027842ea5c6c5d7bb88ed91febf84440eee34c6
CRs-Fixed: 774533
2018-03-14 15:53:08 -07:00
Rajeev Kumar
3f5c593023 qcacld-3.0: Ignore qdf debug fs create failure during init
Debug fs create failure should not fail wifi turn on. Add logic
to allow wifi turn on even if kernel debug fs create API returns
failure.

Change-Id: I02ce1ae4022f6590b29b8666bbe39c7387e8d0dd
CRs-Fixed: 2203329
2018-03-14 15:53:08 -07:00
Manikandan Mohan
04459b9cf8 qcacld-3.0: Fix errors of multi driver compilation
Qcacld supports multiple driver modules instance generation with
different file names and Kbuild options. Fix driver load time and
compilation errors on this feature.

Change-Id: Ib405e6c475bace31933a28dc64082f2b6c046da9
CRs-fixed: 2197749
2018-03-14 15:53:05 -07:00
Rajeev Kumar
807c5f5193 qcacld-3.0: Register fw down callback with QDF
Register fw down callback with QDF such that new UMAC
components can check if FW is down or not.

Change-Id: I394860324368d7671f83536791b021109ddb39aa
CRs-Fixed: 2202602
2018-03-14 15:53:01 -07:00
Rajeev Kumar
c9518ef38c qcacld-3.0: Clean up obsolete INI item gEnableFwSelfRecovery
Config ini item gEnableFwSelfRecovery is obsolete and no longer used
hence remove it.

Change-Id: I3b7f8662cb42f74d217dbdf3b2c3512176e2833e
CRs-Fixed: 2202033
2018-03-14 15:52:58 -07:00
nshrivas
7168432dc4 Release 5.2.0.69Q
Release 5.2.0.69Q

Change-Id: Id60d3d863a2fc1f35d118eaa02ac5b50ec8ab67a
CRs-Fixed: 774533
2018-03-14 09:57:04 -07:00
Himanshu Agarwal
29a9a3e912 qcacld-3.0: Downgrade bandwidth to 40Mhz in 2.4Ghz case
When the channel list contains only 2.4Ghz channels and
bandwidth is coming as 80Mhz in __wlan_hdd_cfg80211_do_acs(),
max weight gets assigned to all the channels irrespective of
scan results and channel 1 gets selected in the end.

Downgrade bandwidth to 40Mhz if channel list contains only 2.4Ghz
channels and bandwidth is coming as 80Mhz.

Change-Id: I0e54b5db0020768c219acc0d864e72813c9185e9
CRs-Fixed: 2193438
2018-03-14 09:57:03 -07:00
nshrivas
9e0ee7c006 Release 5.2.0.69P
Release 5.2.0.69P

Change-Id: Ib56c8ef8591795a2a474e27970083f44fac6a5aa
CRs-Fixed: 774533
2018-03-14 07:04:59 -07:00
Sourav Mohapatra
92ea8d67eb qcacld-3.0: Add support for recovery in FTM mode
While the driver is in FTM state, if a PDR is encountered
the driver is not allowed to recover.

Allow the recovery of the driver after PDR in FTM mode.

Change-Id: Ib4ee3970067a9fde5ba12d4dd954774a16ef0255
CRs-Fixed: 2181509
2018-03-14 07:04:59 -07:00
nshrivas
b9b6d6422d Release 5.2.0.69O
Release 5.2.0.69O

Change-Id: I6272f3312ee925f2990e922e73a0b78f4c18231f
CRs-Fixed: 774533
2018-03-14 01:48:54 -07:00
jitiphil
5256306ace qcacld-3.0: Fix access to ol_rx_thread after thread shutdown
Currenty we are trying to access the ol_rx_thread in
ds_cpu_hotplug_notify function after we shut the thread
down in cds_sched_close function

To address the issue keep a NULL check for the ol_rx_thread

Change-Id: Icddd3ace52bbe773790546d1ace1fd463bc1a7e7
CRs-Fixed: 2200501
2018-03-14 01:48:54 -07:00