Commit Graph

880 Commits

Author SHA1 Message Date
Nirav Shah
89223f7e36 qcacld-3.0: Update netif queue timestamp to avoid watchdog
Update netif queue timestamp while stopping queues
to avoid NETDEV watchdog

CRs-Fixed: 983687
Change-Id: Ifb0777001fead64836f1ea38eb8a3becc47ecac2
2016-04-17 18:07:07 -07:00
Kiran Kumar Lokere
13644679a2 qcacld-3.0: Move the channel width enum to cds
Currently channel width has different enum values in
different modules. Move the channel width enum definition
to CDS to maintain single channel width enum value in
the driver

Change-Id: I6a46d0c02546263080a15a3ec7c52486fc51e98e
CRs-Fixed: 983914
2016-04-17 18:06:59 -07:00
Rajeev Kumar
0a9901ba8c qcacld-3.0: Do not allow crash_inject command in FTM mode
- Subsystem restart is not supported in FTM mode
- Do not allow force crash inject command to test SSR in FTM mode

Change-Id: I743aba2082af5537e627b678b159ba9985986e07
CRs-Fixed: 954374
2016-04-17 18:06:52 -07:00
Mahesh A Saptasagar
d639dde9ec qcacld 3.0: Validate WPA and RSN IE for valid length
qcacld-2.0 to qcacld-3.0 propagation

Return failure to applications if genie ioctl is invoked to configure
WPS/WPA/RSN IEs with arguments of improper length.

Change-Id: I2e034ef9f2537922be35d46ce266e6b99dab7bb6
CRs-Fixed: 931451
2016-04-17 18:06:38 -07:00
Mahesh A Saptasagar
4871cdbc01 qcacld 3.0: Validate ioctls for valid input length
qcacld-2.0 to qcacld-3.0 propagation

Return failure to applications if ioctl is invoked with arguments
of improper length.

Change-Id: I01589f37996510ee130485ef43e1f36811692e28
CRs-Fixed: 930542
2016-04-17 18:06:33 -07:00
Amar Singhal
6842e8f33a qcacld-3.0: Fix set-band operation
Currently, in regulatory callback, we do not update channels
that are out-of-band. For example, if the current band is set
to 2.4 GHz, we do not update channels of 5 GHZ band. Now, if the
band gets changed, the channel list goes wrong. Fix this issue by
updating all the channels and then calling
wlan_hdd_cfg80211_update_band to update wiphy for the current
in-band channels.

Change-Id: If6d6fee01c7a7d6b2aa0f7d3acb862decce0819e
CRs-Fixed: 978660
2016-04-17 18:06:24 -07:00
Amar Singhal
a7bb01b460 qcacld-3.0: Regdomain kernel-doc and other changes
Add kernel documentation for regdomain data structures. Also
rename some of the data structures to better names.

Change-Id: Iae26079ae8a7f06e2670594694ae36c2c2a0a524
CRs-Fixed: 961806
2016-04-17 18:06:17 -07:00
Amar Singhal
c3c490cd0f qcacld-3.0: Correct the country code definitions
Correct the definitions from country code to regulatory domains
mappings. Add the missing countries to regulatory domain mappings.
Also streamline the definitions of regulatory domain pairs and
regulatory domains.

Change-Id: I0ff5a13425c6b5d4671864745f6b44a0d16b78aa
CRs-Fixed: 961806
2016-04-17 18:06:10 -07:00
Amar Singhal
0f5dc48125 qcacld-3.0: Add kernel-doc for regdomain functions
Add kernel documentation for regdomain functions and data structures.

Change-Id: I438c81892216354d9fbda6947fabba031ddcc854
CRs-Fixed: 961806
2016-04-17 18:06:00 -07:00
Amar Singhal
2299511d9f qcacld-3.0: Make regdomain code linux style
Fix the data structures of regdomain code; to make it linux style.

Change-Id: If8123370f4ce370adba1a49636b42449c2644144
CRs-Fixed: 961806
2016-04-17 18:05:45 -07:00
Naveen Rawat
3b6068c457 qcacld-3.0: Remove the file cds_regdomain_common.h
Data structures defined in cds_regdomain_common.h are similar
to those defined in cds_regdomain.h. Therefore remove the file.

Change-Id: I929b03058e9441e4a652314789cf91dbd94d0329
CRs-Fixed: 961806
2016-04-17 18:05:22 -07:00
Abhishek Singh
d86d983a20 qcacld-3.0: Remove roam cmd from roam pending list is case of disconnect
qcacld-2.0 to qcacld-3.0 propagation.

If back to back connect and disconnect are issued by supplicant,
disconnect ends up queued at the head of roam/sme pending cmd
queue due to its high priority. Thus sme processes the disconnect
command before the connect command making sme and hdd out of sync.

Now if unload is triggered, with hdd in disconnected state,
disconnect is dropped in hdd. Thus no DEL BSS is sent before
HAL STOP leading to firmware crash.

This change removes the roam connect cmd from roam/sme pending list
when disconnect is issued by supplicant.

Change-Id: I34f192b3d549c6179ddc49bba376dbc007efa2c2
CRs-Fixed: 955178
2016-04-17 18:04:58 -07:00
Abhishek Singh
79e7750d56 qcacld-3.0: In case ADD STA fails, clear IBSS sta entry properly
qcacld-2.0 to qcacld-3.0 propagation.

If ADD STA fails for IBSS, sta entry is not cleared from dphHashTable
and gLimIbssPeerList. Thus if same IBSS peer tries to connect again
it fails to connect as driver assume that peer is already connected
as its entry is present in gLimIbssPeerList.

With this change IBSS sta entry is cleared in case ADD STA fails.

Change-Id: I6cc778cf74d91952dfd239d4ca62362b8e95467c
CRs-Fixed: 944480
2016-04-17 18:04:53 -07:00
Abhishek Singh
7d3bc3e500 qcacld-3.0: Retry Auth from host in case ack is not received for Auth
qcacld-2.0 to qcacld-3.0 propagation

In few APs with power save feature, if no STA is connected, the AP
does not respond to the Auth from STA, unless Auth is sent near to
the AP's CT window. With current implementation host does not
retry the auth and wait for the auth timeout to happen before
returning connect failure.

With this change Host will retry the Auth frame with interval of
3/5 * beacon interval, if no Ack is received for the frame,
until the auth timeout happens.

This increases the probability for the Auth to be received by AP near
to its beacon and thus initiate the connection.

CRs-Fixed: 816177
Change-Id: I51a6032f910b32eb91d67cb078e6434016ae8650
2016-04-17 18:04:38 -07:00
Krishna Kumaar Natarajan
0f25bbb0b3 qcacld-3.0: Fix layering violation in wma_get_vht_ch_width
Fix layering violation in wma_get_vht_ch_width by using macros
defined in WMI instead of kernel defined macros.

Use WMI_VHT_CAP_CH_WIDTH_160MHZ and WMI_VHT_CAP_CH_WIDTH_80P80_160MHZ
instead of kernel defined macros.

Change-Id: I7d389c21d8c16fd9528cd06d98f2ec84b84aadf7
CRs-Fixed: 985099
2016-04-17 18:04:34 -07:00
Krishna Kumaar Natarajan
062d054549 qcacld-3.0: Update dot11f.frms for new radio measurement types
Update dot11f.frms to decode LCI and Fine Time Measurement in
incoming Radio Measurement frames.

Currently we do not have these new types supported leading to
incorrect frame parsing. Adding these types make sure that
incoming radio measurement request frames are unpacked correctly.

Change-Id: I542bb2b782fed144702c372cbfc314c666c72f53
CRs-Fixed: 980863
2016-04-17 18:04:27 -07:00
Naveen Rawat
206e2ac787 qcacld-3.0: Reindent csr_validate_mcc_beacon_interval
This patch is to reindent csr_validate_mcc_beacon_interval

Change-Id: I0e9c420aab7a2f5534e8acc52d09a27693194073
CRs-Fixed: 985273
2016-04-17 18:03:56 -07:00
Krunal Soni
0acfdcd696 qcacld-3.0: Fix incorrect struct assignment & HT-ie addition
Fix incorrect struct assignment while handling join request in
SME module.

Fix not to add HT ie in outgoing P2P action frames.

Change-Id: Ic49ca5ca3171be50a16a16281ae68edb35449605
CRs-Fixed: 985273
2016-04-17 18:02:01 -07:00
Krunal Soni
fb84cbd911 qcacld-3.0: (part-8)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: Ic3e7c2944d1b8d66042398c57eb307ab30223524
CRs-Fixed: 985273
2016-04-17 18:01:56 -07:00
Krunal Soni
9b04c9b8dd qcacld-3.0: (part-7)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: If408976d5554a50a0023c2a49f80876911fdf1d8
CRs-Fixed: 985273
2016-04-17 18:01:51 -07:00
Krunal Soni
056ea0ffde qcacld-3.0: (part-6)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: Ia98c4406992c1065850dc70ab3b33c49216d0a24
CRs-Fixed: 985273
2016-04-17 18:01:47 -07:00
Krunal Soni
b4326f27d9 qcacld-3.0: (part-5)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: I62a36b3e4d7f92a6d8b15648645035c6ea7735c2
CRs-Fixed: 985273
2016-04-17 18:01:43 -07:00
Krunal Soni
a368784fee qcacld-3.0: (part-4)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: Iaa945f64dd9f90f6abc0b1716b176fce0971ba71
CRs-Fixed: 985273
2016-04-17 18:01:39 -07:00
Krunal Soni
f07bb38727 qcacld-3.0: (part-3)Replace enum device_mode to tCDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: I963d1d7f854ecdfe8c301cc5c8fc554ce8df4e35
CRs-Fixed: 985273
2016-04-17 18:01:29 -07:00
Krunal Soni
be766b01b8 qcacld-3.0: (part-2)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: If20617734c5f6f71cef6b85b86d907f8be9d39f9
CRs-Fixed: 985273
2016-04-17 18:01:19 -07:00
Krunal Soni
276241e3d2 qcacld-3.0: (part-1)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: Ie41244becec39fe1f5f24a721f5b24e137e7fd26
CRs-Fixed: 985273
2016-04-17 18:01:12 -07:00
Satish Singh
7624902237 Release 5.1.0.7G
Release 5.1.0.7G

Change-Id: Ic169127937315b8f84983b656fbf97ff824234d7
CRs-Fixed: 688141
2016-04-17 18:00:44 -07:00
Archana Ramachandran
28ab41212d qcacld-3.0: Fix memory leak in protocol stack due to cdf_mem_free removal
Fix memory leak in protocol stack due to cdf_mem_free removal.

CRs-Fixed: 987178
Change-Id: If2aa813322cbfea68001862098e6c0b18e6921ae
2016-04-17 18:00:34 -07:00
Rajeev Kumar
dd4dd08b2c qcacld-3.0: Fix deadlock in hdd_adapter_lock usage
hdd_adapter_lock is acquired from MC thread and hif_napi soft IRQ
context so it should be acquired using spin_lock_bh such that when
MC thread is holding the lock soft IRQ can't pre-empt it and lead
to deadlock

Change-Id: Iee4a4905bf7cc09cba9bd26f416d505eb47a5c96
CRs-Fixed: 981886
2016-04-17 18:00:21 -07:00
Manjunathappa Prakash
7e16b0a68f qcacld-3.0: Use fastpath Tx entry point with flowcontrol V2
Use common entry point ol_tx_ll_wrapper and use fastpath Tx if enabled.

Change-Id: I3a19fd6af43ab10eb5d8dd2754134a8dbc3783ab
CRs-Fixed: 987182
2016-04-17 17:59:18 -07:00
Amar Singhal
90aaa6ae49 qcacld-3.0: Fix setting vht160/80p80 driver capablities.
We dont need to set both 80p80 and 160 mhz driver capabilties
in driver. Since 160 is a subset of 80p80 capability; we need to
set only one

Change-Id: I20ea254523bade3ad93e49added35d4bdc1d0509
CRs-Fixed: 985763
2016-04-17 17:56:05 -07:00
Peng Xu
242002c759 qcacld-3.0: Increase connection update timeout value
Current connection update timeout value for DBS concurrency case
is 500ms, which is not long enough as there are other WMI messages
need to be processed by master thread. Increase the timeout value
to 1000ms to ensure the set hardware mode WMI message has enough
time to be processed

Change-Id: Idecf2e830a7a37258787eb4f8c5f117cbe2a825b
CRs-fixed: 983174
2016-04-17 17:55:53 -07:00
Nirav Shah
93e789e6d5 qcacld-3.0: Fix firmware statistics mask and format
Send prorper firmware statistics mask and fix
firmware statistics format

Change-Id: I786a7a6e3cec46660c497a001b4b39fb1a049b3a
CRs-Fixed: 986060
2016-04-17 17:55:45 -07:00
Krishna Kumaar Natarajan
db582ec0e0 qcacld-3.0: Fix incorrect argument type in lim_chk_assoc_req_parse_error
Fix incorrect argument type in lim_chk_assoc_req_parse_error function

Currently uint32_t is passed to the function but this function typecasts
it to uint8_t which results in losing 3 bytes of data. This lead to
incorrect parsing of Assoc request frame.

Change-Id: Ib55f7afa06972234d06edd12098e44608460a10d
CRs-Fixed: 987559
2016-04-17 17:55:30 -07:00
Chandrasekaran Manishekar
cde33d77d6 qcacld-3.0: Send channel switch request instead of doing SAP restart
Send channel switch request instead of performing SAP restart when
doing a MCC to SCC switch. This is controlled using the existing INI
item 'gWlanMccToSccSwitchMode'. The new value of '3' will perform
this channel change by sending (E)/CSA whereas the old value of '2'
can still be used to do a channel change by doing SAP restart

Change-Id: I79e7317219503de0a9957940f3cf7a4e91c7a521
CRs-Fixed: 986202
2016-04-17 17:55:17 -07:00
Chandrasekaran Manishekar
4fcb7f5feb qcacld-3.0: Fix enum mismatch while calculating regulatory class
Fix the enum value used while calculating the regulatory class
from the operating channel. Currently, the channel width is of
type 'enum ch_width' whereas the expected enum is of type
'offset_t'. Fixing the same by performing the enum conversion
before calculating the regulatory class to avoid incorrect
value of regulatory class.

Change-Id: I6aabb8ae78836e3c640f41b27e10830adc91a57e
CRs-Fixed: 986246
2016-04-17 17:54:53 -07:00
Chandrasekaran Manishekar
802827d23c qcacld-3.0: Update config options for INI 'gWlanMccToSccSwitchMode'
Update the configuration options of ini 'gWlanMccToSccSwitchMode'
to include the value of '3' which can be used to force MCC to SCC
switch without restarting the SAP by sending out channel
switch announcements.

Change-Id: Icd983b7373ea334d829a101e5296f74560851056
CRs-Fixed: 986202
2016-04-17 17:54:40 -07:00
Chandrasekaran Manishekar
068e25eeb8 qcacld-3.0: Enable FEATURE_WLAN_MCC_TO_SCC_SWITCH flag in the driver
Enable feature flag FEATURE_WLAN_MCC_TO_SCC_SWITCH in the Kbuild to
make use of the MCC to SCC switch feature. The resulting errors in
compilation are fixed along with some enhancement in the debug logs
in this feature path

Change-Id: I0ddb2f371c28ade6d8fc9ea12ba104a99394827f
CRs-Fixed: 986079
2016-04-17 17:54:28 -07:00
Sreelakshmi Konamki
58f4d625fc qcacld-3.0: CL 1466376 update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation.

Enhanced mcast filtering for incoming packets that have
multicast IP but unicast mac

Change-Id: Id50d9130f050ec9a948fdba9931c88b9111bb6ad
CRs-Fixed: 865207
2016-04-17 17:53:58 -07:00
Sreelakshmi Konamki
f9bde8477f qcacld-3.0: CL 1465726 update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation.

add fields to WMI pdev LED config cmd to specify blink parameters

Change-Id: Icd3cf8df3f5af6eed4c7263de641a61e3560b4fc
CRs-Fixed: 865207
2016-04-17 17:53:47 -07:00
Sreelakshmi Konamki
8fd1bfd9f5 qcacld-3.0: CL 1464702 update fw common interface files
New events required for moving TDLS connection tracker to host.

Change-Id: Icca87b3b3441fb126811d792ee59cebe14e0d462
CRs-Fixed: 865207
2016-04-17 17:53:37 -07:00
Sreelakshmi Konamki
02a4d7c4af qcacld-3.0: CL 1463814 update fw common interface files
adding wmi cmd for setting BT paging and WLAN P2P/STA/SAP sched interval.

Change-Id: I07b885d726c12d8a9e7e8b179ad427b24a2f5db8
CRs-Fixed: 865207
2016-04-17 17:52:16 -07:00
Ryan Hsu
9206a4ef77 qcacld-3.0: Update cfg80211_vendor_event_alloc for Kernel upgrade
Commit: 6c09e79 ("cfg80211: Allow NL80211_ATTR_IFINDEX to be added
to vendor events")

This commit add parameter wdev to cfg80211_vendor_event_alloc(), that would
be used to check at __cfg80211_alloc_vendor_skb() to assign ifindex to
the skb and is merged in Kernel 4.1, so add a kernel version macro to
support this

Also merge the hdd_vendor_put_ifindex into cfg80211_vendor_event_alloc
to assign the ifindex when wdev is given, that way we can unify the interface.

Change-Id: I321e12bfe3f9160a8a0fcfeb2408f6336d50e2c5
CRs-fixed: 964291
2016-04-17 17:51:33 -07:00
Kiran Kumar Lokere
333a995e90 qcacld-3.0: Enable Tx LDPC by default
Enable Tx LDPC by default.

Change-Id: I5d276dbf40b8f85cedcf19be0aff5de2809661ea
CRs-Fixed: 983920
2016-04-17 17:50:46 -07:00
Houston Hoffman
575ff11540 Release 5.0.0.6G
Release 5.0.0.6G

Change-Id: Ia8f15633bf15406cd628d86f7c17c4b176bf67aa
CRs-Fixed: 688141
2016-04-17 17:50:19 -07:00
Vishwajith Upendra
bf673e7258 qcacld-3.0: Add support for SAP DFS-3 160MHz, 80+80MHz NOL
Add support for DFS Master mode NOL channel blacklisting.
In 80+80MHz mode add only the channels to NOL based on the segment
id on which radar has been detected and in 160MHz add all or only
DFS channels skipping the Non-DFS channels,  part of the 160MHz bond.

Acked-by: Rakesh Sunki <rsunki@qca.qualcomm.com>

Change-Id: Ie56d14b17997a86e12eacd0ea86cf1742899feb4
CRs-Fixed: 964262
2016-04-17 17:48:41 -07:00
Sandeep Puligilla
2111d3c9b6 qcacld-3.0: SAP DFS-3 channel selection suppport for 80+80MHz/160MHz
Add support for setting channel width for CSA and modify the
SAP DFS channel width fallback algoritham to support DFS for
80+80Mhz and 160Mhz bandwidth. Also, compile out channel matrix
restriction from channel selection process after radar
indication is received for newer platforms and only compile
for older platforms

Change-Id: I771fc162b18aa1e485c513046a265b2d94612972
CRs-Fixed: 964262
2016-04-17 17:05:13 -07:00
Sandeep Puligilla
949eaa7aab qcacld-3.0: SAP DFS CAC Support in 80+80MHz mode
Add support to perform CAC when SAP comes up in 160MHz
or 80+80MHz with any of the 80MHz band is DFS band.

Change-Id: If24d6cd325f747934195598ffe0f456eea939026
CRs-Fixed: 964262
2016-04-17 17:05:13 -07:00
Sreelakshmi Konamki
9d6b75d1a4 qcacld-3.0: Downgrade WMM AC for data frames if BMPS disabled
qcacld-2.0 to qcacld-3.0 propagation

As per the current implementation STA is sending Vo tagged data after
delTspec if BMPS disabled.

To fix this issue, make wmmAcAccessAllowed to false in hdd_wmm_delts().

Change-Id: I2351a4fd463e0e80cc7aefa5485046eab491ce45
CRs-Fixed: 967685
2016-04-17 17:05:13 -07:00
Amar Singhal
30193a7fa4 qcacld-3.0: Remove obsolete regdomain structures
Remove obsolete regdomain data structures. Also remove the obsolete
fields from REG_DOMAIN and REG_DMN_PAIR_MAPPING data structures.

Change-Id: I1ff906571dfadf9cf6a4dc963d8eef62acc5f6b5
CRs-Fixed: 961806
2016-04-17 17:05:13 -07:00