Commit Graph

1320 Commitit

Tekijä SHA1 Viesti Päivämäärä
Himanshu Agarwal
10415ce039 qcacld-3.0: Add NULL check before dereferencing pdev
Add NULL check before dereferencing pdev in wma_mgmt_tx_completion_handler.

Change-Id: If7e06e2e46436f96a18d6c6b9ad6fc6afd7a4d8b
CRs-fixed: 1034746
2016-07-12 07:06:01 -07:00
Dhanashri Atre
41c0d28570 qcacld-3.0: Check inputs during vdev register
Change to ensure that the vdev and txrx operations passed to
data path during vdev registration are valid.

Change-Id: I912194184ae65229ddd7243afa58c56f4579959a
CRs-Fixed: 1035414
2016-07-11 19:27:44 -07:00
Sandeep Puligilla
e438cd1f6e qcacld-3.0: Remove unused macros from Kbuild
Kbuild contains several macros in CDEFINES that are no longer used

Removed these macros from Kbuild file

Change-Id: Ib34ada0b2a07b9d428e9b29ad13ce5fe0302d461
CRs-Fixed: 1023225
2016-07-11 18:11:24 -07:00
Naveen Rawat
e21103f6f2 qcacld-3.0: Fix null pointer dereference in wlan_hdd_nan_datapath.c
Fix null pointer dereference in wlan_hdd_nan_datapath.c

Change-Id: Ic968e441411033c3eeb9ec39aff4fc308b80bce8
CRs-Fixed: 962367
2016-07-11 17:34:04 -07:00
Naveen Rawat
c45d162627 qcacld-3.0: Remove IBSS from MAX_IBSS_PEERS macro
Remove IBSS from MAX_IBSS_PEERS, since this is a generic macro.

Change-Id: Ic50205e84890e6a3bda603ad0f54bebfb2a727ea
CRs-Fixed: 1039559
2016-07-11 16:59:53 -07:00
Naveen Rawat
ba4f661f6a qcacld-3.0: Use hdd_err and hdd_info instead of legacy hddLog api
Remove use of hddLog api calls and use newer hdd logging apis:
hdd_err and hdd_info

Change-Id: Ic9a9dbe393a9a7582a31aa613fb812034819a821
CRs-Fixed: 962367
2016-07-11 16:15:24 -07:00
Peng Xu
82e4e64c6d qcacld-3.0: Fix vendor ID for P2P listen offload
Correct vendor ID used for P2P listen offload start and stop commands.

Change-Id: I63ad3268e56aa143818ca691634d0edae45ae61f
CRs-fixed: 1040150
2016-07-11 15:38:40 -07:00
Vishwajith Upendra
cfc4bd0439 Release 5.1.0.20
Release 5.1.0.20

Change-Id: I0286ed7be3f9b420fc0beaa98fafc537a2033c17
CRs-Fixed: 688141
2016-07-11 14:33:31 -07:00
Mohit Khanna
b477e0ba22 qcacld-3.0: Revert [qca-cld]Fix for UDP-UL data-stall on ROME3.1
qcacld-2.0 to qcacld-3.0 propagation

This reverts change Id461e72919911dff2f93ea7210cb41f643a19b33

The existing code is checking for headroom in the skb coming to HDD from
TCP/IP stack and ends up allocating a new skb and skb->data in case there
is not enough headroom. Headroom is not needed to process outgoing TX
packets in qca_cld3.0 converged code for ROME and ihelium.
Besides a CPU hit, the re-allocation is also causing ROME based products
to use bounce buffers when the new skb(data) is mapped for DMA, since the API
for headroom allocation does not use GFP_DMA flag.

Remove the skb headroom/re-alloc logic to fix the issue.

Keep the existing skb_unshare code as it affects TCP TX for ihelium.
Needs further analysis.

Change-Id: I4980e047aa158c5de0f4f2a557c83f4555bca840
CRs-Fixed: 851524
2016-07-11 13:34:37 -07:00
Chandrasekaran Manishekar
54521c86b2 qcacld-3.0: Fix compilation error on disabling MCC to SCC switch feature
Fix compilation error on disabling the MCC to SCC switch feature flag
FEATURE_WLAN_MCC_TO_SCC_SWITCH.

Change-Id: Id741f86d2e514c5dc5bfa8164ff37f56cd1ca630
CRs-Fixed: 1037396
2016-07-11 06:37:51 -07:00
Poddar, Siddarth
21e7bf0a3a qcacld-3.0: Move NULL check before dereferencing pdev
Move NULL check before dereferencing pdev in ol_tx_create_flow_pool

Change-Id: I42398c9473690a0a8f70f35cc7d5aac87c4ec7e7
CRs-fixed: 1034748
2016-07-11 04:59:47 -07:00
Kabilan Kannan
44f6586a20 qcacld-3.0: Add validation to avoid buffer overflow
Buffer overflow condition is not validated correctly in function
sme_update_tdls_peer_state(). This may result in erratic program
behavior.
Add buffer over flow validation to avoid memory access errors,
incorrect results, a crash, or a breach of system security.

Change-Id: I793bd056b32924b484ce7cb264b22c74c8c4cca4
CRs-Fixed: 1035656
2016-07-08 17:26:54 -07:00
Vishwajith Upendra
07f95f3098 Release 5.1.0.19
Release 5.1.0.19

Change-Id: I2e8b08920704cb243886aefd8a8029823783232b
CRs-Fixed: 688141
2016-07-08 14:00:06 -07:00
Govind Singh
805ac5b24a qcacld-3.0: update fw common interface files(part-2)
FW common files needs to be in sync with host and fw.
Update host fw common interface files with latest version
of FW interface files.

Change-Id: I28dcdabb5b141d00ad0ce482fec74775b22ace85
CRs-Fixed: 1012542
2016-07-08 06:12:11 -07:00
Govind Singh
5b48620c03 qcacld-3.0: Add host changes for latest fw common changes
FW common files needs to be in sync with host and fw.
Add changes to compile successfully with latest version
of FW interface file.

Change-Id: I487a18185c406da5c2fb07e2a95cafe4793578aa
CRs-Fixed: 1012542
2016-07-08 06:12:10 -07:00
Govind Singh
8c46db9759 qcacld-3.0: Correct fw common references in dp layer
FW common files needs to be in sync with host and fw.
Correct fw common references in dp layer with latest copy
of fw common files.

Change-Id: I194c25045ca978634027a94bc74f22253b1afc86
CRs-Fixed: 1012542
2016-07-08 06:12:06 -07:00
Govind Singh
55b8dafb91 qcacld-3.0: update FW common interface files
FW common files needs to be in sync with host and fw.
Update host fw common interface files with latest version
of FW interface files.

Change-Id: Id4585fbbfaeba186075ecc54b35024315d6e0b68
CRs-Fixed: 1012542
2016-07-08 06:12:04 -07:00
Manjeet Singh
f82ed071d0 qcacld-3.0: Add support for WMI_PDEV_WAL_POWER_DEBUG_CMD
Add support for WMI POWER DEBUG command to control mac_core power features
for run time debugging.

Change-Id: I77ad747843cae31de1705b7ce8fa80e18c9ca53e
CRs-Fixed: 1007598
2016-07-08 05:14:42 -07:00
Manishekar Chandrasekaran
371e5af0bd qcacld-3.0: Use interval field provided by DRIVER command P2P_SET_NOA
Ensure that the interval field provided by the DRIVER command
P2P_SET_NOA is used while populating the NoA parameters. Make sure
that the interval and duration fields are in TU units.

Change-Id: I9e1e60a0019e90deab36df5d8ba7822dfa4dcae0
CRs-Fixed: 1036494
2016-07-07 22:15:24 -07:00
Sandeep Puligilla
707386ec00 qcacld-3.0: Update log level related to PNO
PNO kernel debug logs are too frequent.

Reduced the log level of PNO messages from error to info

Change-Id: I27166f542889e0d5071ae8c558e0227c51064c5f
CRs-Fixed: 1022820
2016-07-07 22:15:23 -07:00
Vishwajith Upendra
54963e5289 Release 5.1.0.18
Release 5.1.0.18

Change-Id: I86ea662a598263979f62f5b9882e8e95269b2b98
CRs-Fixed: 688141
2016-07-06 23:30:03 -07:00
Yuanyuan Liu
8052806008 qcacld-3.0: Add NULL check for ol_ctx in bmi_download_firmware
ol_ctx is NULL by default if NO_BMI is defined. Hence, add NULL
check for ol_ctx in bmi_download_firmware so that this NULL pointer
could be handled properly in BMI and NO_BMI cases.

Change-Id: I17b6a7e266e41b1f9135bb81bf4329c1ae460862
CRs-Fixed: 1038414
2016-07-06 22:44:40 -07:00
Archana Ramachandran
dc7f2c9c2f qcacld-3.0: Fix NULL pointer dereferencing in p2p TX MGMT
Fix dereferencing channel struct pointer without verifying the
validity.

CRs-Fixed: 1034743
Change-Id: I7a49467c3fdbe85c7255fcce7f135e53658eef63
2016-07-06 14:42:58 -07:00
Varun Reddy Yeturu
e20ffc05d0 qcacld-3.0: Enable early stop scan by default
Enable the early stop scan feature by default and also
modify the default values as per the request from the
firmware

CRs-Fixed:  1036474
Change-Id: I0f2596633084ea97e64fb2c7d9975052d1ac98fb
2016-07-06 13:35:43 -07:00
Varun Reddy Yeturu
83ccb9b38b qcacld-3.0: Fix the invalid SNR value in Host
qcacld-2.0 to qcacld-3.0 propagation

Firmware sends 0x127 as the invalid snr value when it is in a
state of unable to get it from either a beacon or data packet

CRs-Fixed: 939255
Change-Id: Ia45a8c4acd6a54ff3e56b192c11cea0df97eadaf
2016-07-06 13:34:48 -07:00
Vishwajith Upendra
2a9318a7e9 Release 5.1.0.17
Release 5.1.0.17

Change-Id: I3b342d728cc280e434833a07b6d8ed6d1d19b98d
CRs-Fixed: 688141
2016-07-06 13:33:12 -07:00
Kabilan Kannan
91765b4a34 qcacld-3.0: Remove TDLS wider bandwidth support from VHT IE
TDLS wider band width is not yet supported, but it is
incorrectly advertised in TDLS action frames.
Remove the wider bandwidth advertisement from VHT IE
in TDLS action frames.

Change-Id: I66f0e5d147af93100a7780b14636ba6438330584
CRs-Fixed: 1028205
2016-07-06 13:33:08 -07:00
Kabilan Kannan
7ae4d60284 qcacld-3.0: Fix the incorrect PHY mode problem in TDLS
The channel width of the TDLS direct link
on the base channel shall not exceed the
channel width of the BSS to which the
TDLS peer STAs are associated.
Add changes in the host driver to restrict
TDLS channel width to equal to BSS channel
width

Change-Id: I5c640164b3c747a55bde3efc553d2861057ebf42
CRs-Fixed: 1028201
2016-07-06 13:33:03 -07:00
Sandeep Puligilla
a8d4eec7d9 qcacld-3.0: Fix to avoid acquiring mutex in atomic context
Propagation from qcacld-2.0 to qcacld-3.0

When a radar is indicated from WMA to HDD,  it happens in a soft
irq context and the dfs_radar_found flag is set by acquiring
a mutex which leads to apps crash.  The crash happens if the mutex for
dfs_radar_found flag is being held by the main thread and as a result
the soft irq thread seeking the same mutex will be put in the kernel
sleep queue leading to apps crash as sleeping is not allowed in soft irq
context.

Fix the issue by using spinlock instead of mutexes.  An exception
has been made to use the spinlock in the main thread context to
work around the complications involving for radar indication
callback to happen in worker thread context instead of soft
irq context.

Change-Id: I4bc01ac8991c593ffcaf6ee532f4594cb8beba16
CRs-Fixed: 928394
2016-07-06 13:32:53 -07:00
Naveen Rawat
b6a951a21d qcacld-3.0: Add check for NDI role in __lim_fresh_scan_reqd
This is qcacld-2.0 to qcacld-3.0 propagation

Add NDI role check in __lim_fresh_scan_reqd to allow request for fresh scan.

Change-Id: Icea6228c6491d8b7d0588a699fe7f16d0dd0d3f1
CRs-Fixed: 1030380
2016-07-06 13:31:59 -07:00
Naveen Rawat
8d63a59f3b qcacld-3.0: Add NDP reason codes in deferred rsp sent for NDP commands
This is qcacld-2.0 to qcacld-3.0 propagation.

Add NDP reason codes in deferred response sent for NDP commands so that
failure during processing of NDP cmds can be notified to service layer.

Change-Id: I731b520fde226c351464d94033a1ced2888a4d18
CRs-Fixed: 962367
2016-07-06 13:31:56 -07:00
Naveen Rawat
d915350fe4 qcacld-3.0: Update NAN HDD APIs as per vendor definitions changes
This is qcacld-2.0 to qcacld-3.0 propagation.

Remove usage of following attributes from NAN HDD APIs:
1) QCA_WLAN_VENDOR_ATTR_NDP_SCHEDULE_UPDATE_REQUEST
2) QCA_WLAN_VENDOR_ATTR_NDP_SCHEDULE_UPDATE_RESPONSE
3) QCA_WLAN_VENDOR_ATTR_NDP_SCHEDULE_UPDATE_IND

Change-Id: I545662de41d4a22a3f1a9f5e037eeaa4050b9d42
CRs-Fixed: 962367
2016-07-06 13:31:50 -07:00
Naveen Rawat
460be785ea qcacld-3.0: Delete NAN data peer on confirm with reject
This is qcacld-2.0 to qcacld-3.0 propagation.

Delete NAN data peer if first NDP_CONFIRM for a peer is received
with REJECT and active ndp instances as 0.

Change-Id: I9d3ff7166fb437f8af79e5bd915022d452b16a35
CRs-Fixed: 962367
2016-07-06 13:31:45 -07:00
Naveen Rawat
64a9a1a5b3 qcacld-3.0: Free up ndp sme command resources at sme close
This is qcacld-2.0 to qcacld-3.0 propagation

Free up memory allocated for NDP SME commands at sme_close, so that in
the event of unload while NDP command response was awaited, resources
can be freed.

Change-Id: I287ad77cbdca4b816f38bea436173b88e6eafc93
CRs-Fixed: 962367
2016-07-06 13:31:38 -07:00
Naveen Rawat
90ae3080de qcacld-3.0: Update NAN HDD APIs as per vendor definitions changes
This is qcacld-2.0 to qcacld-3.0 propagation.

Remove usage of following attributes from NAN HDD APIs:
1) QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO_LEN
2) QCA_WLAN_VENDOR_ATTR_NDP_NUM_INSTANCE_ID
3) QCA_WLAN_VENDOR_ATTR_NDP_SCHEDULE_STATUS_CODE
4) ndp_cfg from NDP_CONFRIM
5) Remove mandatory check for ndp_app_info in data initiator

Change-Id: I17fe580661f836d45a518a330a63d2c6de8bcf28
CRs-Fixed: 962367
2016-07-06 13:31:33 -07:00
Deepak Dhamdhere
a6d2f4cec4 qcacld-3.0: Process NDP data end indication
qcacld-2.0 to qcacld-3.0 propagation

Firmware sends an array of:
    {ndp instance id, vdev id, active ndp num, peer mac address}
for the NDP instances that are to be terminated.
Host driver deletes the peers that have 0 active ndp instances and
sends the entire list of ndp instance id's to the service layer.

Change-Id: I325843ce7fb8198466cb66ce66710cef999d4581
CRs-Fixed: 962367
2016-07-06 13:31:29 -07:00
Naveen Rawat
f28315cd66 qcacld-3.0: Add support for NAN Data End Request
This is qcacld-2.0 to qcacld-3.0 propagation.

Add implementation of NAN Data End request.

Change-Id: Iddd22a83b0763dab2e7398f4d2cf5b9ada58225a
CRs-Fixed: 962367
2016-07-06 13:31:24 -07:00
Abhishek Singh
ed998de395 qcacld-3.0: Support for NDP Responder Request for Accept all policy
This is qcacld-2.0 to qcacld-3.0 propagation.

Add implementation for auto accept NDP responder request.

Change-Id: I1d610696cded1f91b646712e3f8c27659bbae6af
CRs-Fixed: 962367
2016-07-06 13:31:17 -07:00
Abhishek Singh
4fef747c51 qcacld-3.0: Add support for NDP Responder Request
This is qcacld-2.0 to qcacld-3.0 propagation

Add implementation for non-auto accept NDP responder request.

Change-Id: I2ced33cfa0faf487d8e31275493e8d85251e8c59
CRs-Fixed: 962367
2016-07-06 13:31:11 -07:00
Deepak Dhamdhere
5872c8c1c2 qcacld-3.0: Fix __hdd_hard_start_xmit API for NAN Data Interface
qcacld-2.0 to qcacld-3.0 propagation

Make changes in __hdd_hard_start_xmit API registered with OS to enable
data path for NAN Data Interface.

Change-Id: I1d54c79da127b1dac7ea8c8e0e855e043571ad77
CRs-Fixed: 962367
2016-07-06 13:31:07 -07:00
Deepak Dhamdhere
0f076bd0db qcacld-3.0: Add support for NDP data initiator request
qcacld-2.0 to qcacld-3.0 propagation

Add host side changes to handle INITIATOR_REQ, INITIATOR_RSP,
NEW_PEER_IND and NDP_CONFIRM_IND to support NDP data initiator
request.

Change-Id: I10bf88d3fff27e1f842b720a598c923983c06c90
CRs-Fixed: 962367
2016-07-06 13:31:04 -07:00
Deepak Dhamdhere
f16015f89f qcacld-3.0: Enable ipv4/ipv6 address notification for NDI
qcacld-2.0 to qcacld-3.0 propagation

NAN Data Interface also supports ipv4 and ipv6 address notification
like any other netdev. Enable ipv4/ipv6 notifications for NDI mode.

Change-Id: I6ad281d9b3dce66db7bbfd198296d0d086ccf4fb
CRs-Fixed: 962367
2016-07-06 13:30:59 -07:00
Deepak Dhamdhere
8360d4c9d4 qcacld-3.0: Make ndp_ctx part of station context
qcacld-2.0 to qcacld-3.0 propagation

Make ndp_ctx part of station context, that way NAN data is assumed
to be another device role like P2P client and IBSS in the station mode.

CRs-Fixed: 962367
Change-Id: I93e2c14c59d4cbdfaadcd31e73fe0e3681843ce3
2016-07-06 13:30:56 -07:00
Deepak Dhamdhere
616d9c51ae qcacld-3.0: Delete NDI netdev if start bss fails
qcacld-2.0 to qcacld-3.0 propagation

The NAN Data Interface is required to be deleted if start bss
fails for some reason.

Change-Id: I83f2511a9df569fde791a0da110ac873fb0381dd
CRs-Fixed: 962367
2016-07-06 13:30:53 -07:00
Deepak Dhamdhere
7e6016f928 qcacld-3.0: Add NAN datapath enabled flag to HDD context
qcacld-2.0 to qcacld-3.0 propagation

Add nan_datapath_enabled flag in HDD context to represent current
disable/enable state of NAN datapath feature.
Do not modify the .ini configured value because getConfig command
will show incorrect results.

Change-Id: Ib0b44168aca24802d8bd86b0665a1060ba3a1bf5
CRs-Fixed: 962367
2016-07-06 13:30:49 -07:00
Naveen Rawat
e82c1f302f qcacld-3.0: Enable Wake On Wireless events for NAN datapath
qcacld-2.0 to qcacld-3.0 propagation

All the wake events for all NAN datapath event IDs are sent
through a single event WOW_NAN_DATA_EVENT. Its handler derives
the event ID from the TLV tag and calls individual NDP event
handlers.
- Enable WOW_NAN_DATA_EVENT.
- Translate WOW event TLV tag to NDP event ID.
- Call NDP event handlers for WOW_REASON_NAN_DATA.

Change-Id: Ia99bb6b0e1637d052945ed6f4878237b3612bb20
CRs-Fixed: 962367
2016-07-06 13:30:42 -07:00
Himanshu Agarwal
879a3bec5c qcacld-3.0: Add NULL checks before dereferencing
Add NULL checks before dereferencing in:
1) BMI layer
2) HTT layer
3) EPPING layer.

Change-Id: I9998d4aeb983dc101121a71d791d7ec626e3f5d4
CRs-Fixed: 1036390
2016-07-06 13:30:39 -07:00
Manishekar Chandrasekaran
1ff1757d6f qcacld-3.0: Disallow STA+SAP+P2P concurrency scenarios
Disallow any form of STA+SAP+P2P concurrency scenarios
since three port concurrency is not planned to be
supported currently. This is the only three port
combination that the user can exercise with the new
framework changes in place and hence disallowing this
combination to avoid crashes.

Change-Id: I384d4412e5790aaf34175f78163ec98b73588fea
CRs-Fixed: 1032912
2016-07-06 13:30:34 -07:00
Nirav Shah
ffc6a094b4 qcacld-3.0: Vote performance qos for high throughput use case
With WLAN use case, FPC(Fast Power Collapse) wakeup latency is
too long. Then some use case, FPC feature break performance.
To ensure CPU wakeup, if detected high throughput, vote for
performance qos not to activate FPC.

Change-Id: I4a8dca19ce32944769e85ba5beeae93bb49b29a9
CRs-fixed: 1026370
2016-07-06 13:30:30 -07:00
Nirav Shah
3bbfa51404 qcacld-3.0: wlan rx thread set affinity when need high bandwidth
With dual cluster system, to reduce cache miss issue and for
lower latency, RX thread should run on big cluster.
When high bandwidth detected by WLAN host driver,
RX thread should move to big cluster. And low
throughput required, RX thread should go to little core CPU
to reduce power consumption.
CPU affinity should controlled by Online CPU and throughput
requirement. Even high throughput is required, if PERF CPU is
not online, RX thread cannot attach to PERF CPU.

Change-Id: I85591d3c74973c40388a04353b1d32e009a46ec1
CRs-fixed: 1026370
2016-07-06 13:30:26 -07:00