Commit Graph

18 Commits

Author SHA1 Message Date
Shashikala Prabhu
48ecda84bf qcacmn: Fix 4.9GHz cfg80211 issues
Send correct channel list to Firmware. When cfg80211 is enabled, STA
is scanning in a set of wrong channels. When scan callback happens
from cfg80211 module the cfg80211 module gives us the channel numbers.
There are some channel numbers which are same in both 5GHz and in
2.4Ghz bands. For example, channel number 1 maps to frequency 4942MHz
in 5GHz band, but in 2.4GHz band channel number 1 maps to frequency
2412MHz. So cfg80211 may give us a wrong channel number. Since we have
the exact frequency of the channel we should use that instead of the
one given by cfg80211.
The channel object given to the driver by cfg80211 during scan callback
is the same as the one registered to cfg80211 by the driver. So we can
use the channel frequency inside the channel object for scan which is
not changed by the cfg80211 module.

Use regdb function to convert channel number to frequency while receiving
scan entries from FW. Use pdev band (5/2.4GHz) information to map to
correct 2.4Ghz/5Ghz channel frequency.

Half/Quarter rate flags in the scan_ctrl_flags are not set. Set
Half/Quarter rate flags in scan_ctrl_flags.

Change-Id: I9df8f0e90938f86f6987574f8259a5cf66b672aa
CRs-Fixed: 2180273
2018-04-13 14:51:30 -07:00
Soumya Bhat
8b2a535e7a qcacmn: Extend cfg80211 scan cleanup API to support netdev level cleanup
In existing code scan queue cleanup is done during radio detach,
leading to access of freed vdev netdev.

Extend cfg80211 scan cleanup API to support netdev level cleanup.

Change-Id: Ice6b6d262788e71c6d229ed7de6ab0e17f270b6c
CRs-Fixed: 2185302
2018-03-05 04:28:19 -08:00
gaurank kathpalia
26f9833fb8 qcacmn: Send per chain rssi to upper layer
Add support to send the per chain rssi to upper layer
for each beacon and probe responses.

Change-Id: Ife6cb9e8e65591baf485c54a985f84d842400321
CRs-Fixed: 2177638
2018-02-27 01:57:52 -08:00
Jiachao Wu
a00b71b980 qcacmn: Use after free when clean up scan queue
When invoked wlan_cfg80211_cleanup_scan_queue, it will try to clean
up pending scan requests in queue from kernel. However, when the
netdevice is down, this request could be already freed by kernel.
To fix this issue, also add the pointer to netdevice in scan_req
so what we can check the status of netdevice in scan_req instead
of cfg80211_scan_request which might already be freed for this case.

Change-Id: I6189c52b638bc4f408e4d4c694c178c7d2f3de52
CRs-Fixed: 2164404
2018-01-14 21:27:44 -08:00
Yue Ma
04dfab5ac6 qcacmn: Add API to init scan runtime suspend lock
Commit fb9d5acfed and 645749571d introduce an API to deinit scan
runtime suspend lock in order to fix a memory leak issue. However,
it breaks SSR because scan lock init and deinit are not matching
during SSR which results double free happens in the rmmod after
SSR. Add the API to init scan runtime suspend lock so that it can
be added in the correct place during SSR.

Change-Id: Ied85b16b199fdbf43fef4c966bed56c9f7bb0e86
CRs-fixed: 2120661
2017-10-12 14:21:48 -07:00
yeshwanth sriram guntuka
074f5e91b8 qcacmn: Send default ies in scan request to fw
On framework initiated scan, ies are not sent in
scan request from upper layer and default scan ies are
not sent as part of scan request sent to firmware. This
results in not including oce ie in probe requests for
framework initated scans

Fix is to copy default ies to ie field in scan request
sent to firmware.

Change-Id: I895563bafc2a2b6e483d08cb28ee44ad34f5af70
CRs-Fixed: 2087124
2017-09-21 23:30:19 -07:00
Abhishek Singh
fb9d5acfed qcacmn: Add API to deint scan runtime suspend lock
Add API to deint scan runtime suspend lock, which can be called
before HIF is closed, to avoid crash while acessing HIF pointer.

Change-Id: Ida9269cdaea33a387e2acd1e3d9670d152b6016f
CRs-Fixed: 2065228
2017-06-22 06:35:01 -07:00
Sandeep Puligilla
15677ec859 qcacmn: Add protection to access scan queue
scan request queue is accessed in multiple
process contexts so added mutex to scan request
queue. Scan request mutex needs to be acquired
before accessing the scan request queue.

Change-Id: I3f0fe0513d5846f4eaf313848f00f86d29a66e35
CRs-Fixed: 2057127
2017-06-16 07:33:34 -07:00
Dustin Brown
f3351d97d7 qcacmn: Expose scan_backoff_multiplier for NLO/PNO
For Network Listen Offload and Perfered Network Offload, the fast scan
period is multiplied by scan_backoff_multiplier after max cycles have
occurred. Expose scan_backoff_multiplier to consumers of the WMI API,
so this parameter can be configured.

Change-Id: I478fb61cd096d3496205f4ff556e180dabf99b77
CRs-Fixed: 2035201
2017-06-09 21:36:26 -07:00
Abhishek Singh
9f6058d24d qcacmn: Add support for PMO suspend and resume scan API
Register PMO suspend and resume scan API. In suspend API, abort
all pending scans.

Change-Id: Iec03383a958f1bf93d77a86c351532270c7fdcb8
CRs-Fixed: 2038163
2017-05-19 13:51:42 -07:00
Abhishek Singh
ac80309005 qcacmn: Add runtime suspend logic for scan
Add runtime suspend logic for scan, to block runtime suspend when
scan is started and unblock when scan is completed.

Change-Id: I61c9afaf996d1ac97bfb5ffb0cd8a3abc971051e
CRs-Fixed: 2035675
2017-05-11 06:25:40 -07:00
Abhishek Singh
f95b9e4248 qcacmn: Add wait for cancel scan on pdev and vdev
Add cancel scan sync api which will wait for scan to be aborted on
pdev or vdev.

Change-Id: Ie02eb981154856cda38ef70f42fdfcf82bb88961
CRs-Fixed: 2038092
2017-05-11 02:13:25 -07:00
Om Prakash Tripathi
7d867d6729 qcacmn: cfg80211 scan change for WIN
Change-Id: I2d2863c7193de8e79c7ff76039f9b64ecaf90100
CRs-Fixed: 2001106
2017-04-28 03:43:53 -07:00
Sandeep Puligilla
ea68a2c6f2 qcacmn: Deinitialize the pdev scan private member
Added api to support the deinitialization of pdev scan
private member

Change-Id: Id887eab16f195fc5052f30900451625a586ed9fa
CRs-Fixed: 2033622
2017-04-14 15:06:52 -07:00
Abhishek Singh
8c6e82d763 qcacmn: Add PNO changes for converged scan
Adds PNO related changes for converged scan

Change-Id: Ia18e48645d511134698777b334348d68daf2dbee
CRs-Fixed: 1095299
2017-04-11 11:04:33 -07:00
Sandeep Puligilla
7acd31fa33 qcacmn: Add cfg80211 scan start and stop command
Add cfg80211 scan start and scan stop commands.

Change-Id: I20b6c7743496ae82cc3a93befb5b68812047ec1a
CRs-Fixed: 1095299
2017-03-02 16:11:46 +05:30
Abhishek Singh
9eb058adca qcacmn: Add changes to indicate beacon frame to cfg80211 layer
Add changes to indicate beacon frame to cfg80211 layer from scan
module.

Change-Id: Ia36e957bd2324130c8c3175569ce38267cd3cf53
CRs-Fixed: 1095299
2017-02-28 12:05:46 -08:00
Vivek
3e5a3ba077 qcacmn: Define os private structure in pdev object
-Define OS private memory structure and provide pointer
 to store the private data of each umac module's os specific data
-Initialize pdev's os private structure member 'wiphy'.
-Move vendor command definition to common project.

Change-Id: I2033bfbf0fe38e82c3a14942ac9f9bfda45e2c6c
CRs-Fixed: 2002991
2017-02-23 03:06:53 -08:00