Commit Graph

68 Commits

Author SHA1 Message Date
Tushnim Bhattacharyya
80dfdd5a6f qcacmn: Fix NULL pointer dereference in pno & regulatory
In target_if_pno_start, target_if_pno_stop,
tgt_reg_chan_list_update_handler, tgt_reg_11d_new_cc_handler &
tgt_reg_ch_avoid_event_handler wmi_handle is derived & dereferenced
with out a NULL check. Add a NULL check for wmi_handle before it is
dereferenced.

Change-Id: I4b4afa5bb74a2c97d921af2672eb285f7c34062a
CRs-Fixed: 2305512
2018-09-05 22:14:59 -07:00
Liangwei Dong
9996a315be qcacmn: Skip chan list update during SSR
The Firmware will switch to default US regdomain
after SSR.

After SSR we need to keep the old country code,
so skip the chan list update firmware event duing SSR.

Change-Id: I8735abef67e072f60961aab655a016348dc9d4a0
CRs-Fixed: 2304303
2018-09-05 18:11:36 -07:00
Dustin Brown
3fc809d63d qcacmn: Reduce target_if info logging
Excessive logging in target_if has been identified as the root cause of
a watchdog timeout. Reduce target_if logging in normal operation paths
to debug level to avoid excessive CPU use.

Change-Id: If384474270bb4b860100b98e5eea81d54b7c2184
CRs-Fixed: 2286630
2018-07-31 15:25:52 -07:00
Shashikala Prabhu
d50f3a6b05 qcacmn: Fix 4.9GHz issue for legacy devices
In the scan channel list, host sends both 2.4GHz and 4.9GHz channels to FW
because there are ieee channels which have same value in 2.4 GHz and 5GHz
bands.  Example: channel 1 is 2.412 in 2.4GHz and 4.942 in 5 GHz.
When converting a channel to freq, the host uses low/high 2GHz and 5GHz
frequency ranges. For a partial-offload 5GHz pdev, both low/high 2.4 GHz
and 5 GHz frequencies are set and hence 4.9 GHz channel is converted to
2.4GHz frequency.

To fix the above issue, based on the wireless modes remove either low/high
2.4 GHz or low/high 5 GHz frequency based on the wireless modes.

Change-Id: I1fb0a56c70d1dc0ffc2731da3f25c910af46bb41
CRs-Fixed: 2239771
2018-07-12 04:58:51 -07:00
Akshay Kosigi
2a216edab0 qcacmn: Replace void pointers with appropriate/common structure types
Void pointer usage may lead to memory corruption due to
wrong pointer is typecasted. Hence define structure for all, and modules
internally typecasting based on their type

Change-Id: I6271ed8aa3f94254fd85f41962f23ea36895154e
CRs-Fixed: 2182452
2018-05-11 22:40:13 -07:00
Srinivas Pitla
cc75651c34 qcacmn: Converge initial HOST FW handshake
Implement service ready, ext service ready
ready event handler, init command preparation
and other required APIs

Change-Id: Iaf707227c1e94bb492dd86bd2d0916a1cf875498
CRs-Fixed: 2177109
2018-02-03 15:11:07 -08:00
Sourav Mohapatra
06490bebac qcacmn: Converge on wmi service/ext service is enable
Converge on wmi service/ext service is enable

Change-Id: Ib246befa72cce927bee157394cd22c7d1562d341
CRs-Fixed: 2152751
2018-01-24 13:19:48 -08:00
Mukul Sharma
396cef7bcf qcacmn: Converge on wmi event registration / unregistration
Converge on wmi event registration / unregistration method.

Change-Id: If03a38d74a47cc1d900bc5734a7c8f950513efaa
CRs-Fixed: 2148479
2017-11-30 03:40:33 -08:00
Kiran Kumar Lokere
a78b4bfb67 qcacmn: Add support to process channel avoidance event
Add support to process channel avoidance event

Change-Id: I19ce742406a4778ac0f279faf0bf853bc9069eb0
CRs-Fixed: 2080241
2017-08-13 16:56:55 -07:00
Shashikala Prabhu
3519b96e24 qcacmn: Fixed regdb kernel panic
Analysis:
Seen kernel panic when setting the NULL country code in FW.

Solution:
Send an indication to Offload layer if Firmware fails to set
the country code.

Change-Id: Ic01ee170cfca31d840236625c1d1497426eafc68
CRs-Fixed: 2083318
2017-08-08 02:25:47 -07:00
Abhijit Pradhan
59626eba4b qcacmn: Set country code for full-offload using iwpriv command
For full-offload, send user country code to FW using WMI
command.

Change-Id: I84acbd7ce30aa9a8ce590c8fadea2cb5914240fe
CRs-Fixed: 2053849
2017-07-13 22:02:53 -07:00
Abhijit Pradhan
ca7d77b408 qcacmn: Fill per psoc regulatory info
Move per psoc regulatory info from pdev level function to psoc
level function.

Change-Id: Id06c6fee110ce929925f568db3a3b507214294d5
CRs-Fixed: 2066122
2017-07-12 12:08:42 +05:30
Amar Singhal
2e55c111a8 qcacmn: Implement 11d state machine
Regulatory component needs to listen to vdev messages in order to track
whether a master mode vdev is getting created or destroyed. It is also
used to kick-start the state machine. Also re-run the state machine when
user-space country code is set.

Change-Id: I5112396314a936f84dad2f0e07329f9cb237aa78
CRs-Fixed: 2048784
2017-06-08 13:46:53 -07:00
Kiran Kumar Lokere
82c8645b38 qcacmn: Add support for 11d FW commands and events
Add support to send 11d scan start and stop commands to FW and
process the 11d new country update event from FW.

Change-Id: I5c1588cfb5af672cdb5738784de1bd0b83bdbe77
CRs-Fixed: 2048784
2017-06-08 13:46:51 -07:00
Baila, Shashikala Prabhu
bc3efea885 qcacmn: Add API to get 2GHz/5GHz freq range and wireless modes
Offload layer uses low and high 2GHz/5GHz freq ranges and chip
supported wireless modes to populate umac ic channel list.

Change-Id: I899edd83548d68e67659b3a9273ddaaaf740540b
CRs-Fixed: 2047212
2017-05-31 01:03:11 -07:00
Kiran Kumar Lokere
a843634983 qcacmn: Add support to send new country to FW
Add support to set new country code to the FW

Change-Id: Id24967b7c9e93bfbf045f494f142be9e33e16483
CRs-Fixed: 2042879
2017-05-18 13:42:21 -07:00
Baila, Shashikala Prabhu
af7fd90129 qcacmn: Re-factor processing of WMI_REG_CHAN_LIST_CC_EVENTID
Due to different layers, TLV processing is confined to WMI folder.
Therefore, move the TLV layer processing of WMI_REG_CHAN_LIST_EVENTID
to the wmi folder.

Change-Id: I7e7182997a9506035030f33d2f81a403fbe97a2f
CR-Fixed: 2019750
2017-03-27 06:07:47 -07:00
Amar Singhal
e407974144 qcacmn: Add the event handler for WMI_REG_CHAN_LIST_CC_EVENTID
Add event handler for WMI_REG_CHAN_LIST_CC_EVENTID.This handler
would be called from psoc_open object manager framework
initialization.

Change-Id: Icfd52fdb7056fdb77afdbd1be576d160719b7285
CRs-Fixed: 2002892
2017-03-27 06:07:36 -07:00