1) Do not dereference mac_ctx for logging when mac_ctx itself is NULL
2) Use standard logging mechanism such as the QDF infrastructure for
logging purpose
Change-Id: Iedb4b5d20fd7aa85ff1b98e5fab4edb9de51f7b2
CRs-Fixed: 1065301
Once WMA context is retrieved, check if it has NULL value
before dereferencing it
Change-Id: I9896204933deb0588bca51e006e1477d5ed6c03e
CRs-Fixed: 1065301
Some HDD suspend/resume logging messages are vague or include redundant
status codes. Update these messages to reflect what actually happened and
remove redundant status codes.
Change-Id: I5c4a481a8fbbdebe88f2ecffffb1f2189922da4f
CRs-Fixed: 1062544
PM suspend and FW interrupt handler is running at same time
which is leading to multiple race conditions and host is missing
FW wake up interrupt which is causing APPS not waking up reliably.
Define .suspend_noirq and .resume_noirq callbacks and make
sure there is no pending FW interrupt before allowing PM
suspend to complete. Kernel PM suspend framework gives guarantee
that suspend_noirq and device interrupt handler can't run
simultaneously. This helps WLAN driver to reliably detect FW
wake up interrupt during PM suspend and fail PM suspend gracefully
if FW has requested for initial wake up.
Change-Id: Ic82d7dd6b6b743dd3f55b036e012ad0c8bebd50d
CRs-Fixed: 1060748
Register suspend_noirq/resume_noirq callbacks to kernel. It will
make sure no wake up is pending from FW and if initial wake up is
received then failing it should trigger resume.
Change-Id: Ie553dfc1401c2c6934961773bc98a24626a9cd34
CRs-Fixed: 1060669
Currently cfg.ini supports the following configuration items:
gRrmOperChanMax
gRrmNonOperChanMax
However these configuration items are no longer in use, so remove
them.
Change-Id: Ib6f1ea0b86d97132ebf58b09ad1699efc96e592f
CRs-Fixed: 1060775
Previously change "qcacld-3.0: Fix max dwell time for passive scan
beacon report" (Change-Id: Idc0b4f15f2b7464507aacfaefb99e1ba48ad1eca)
modified the default value of the "rm_capability" INI item, but it
also included other changes which incorrectly utilized the obsolete
gRrmOperChanMax & gRrmNonOperChanMax INI items. Since those INI items
are going to be removed from the code, the original implementation of
"qcacld-3.0: Fix max dwell time for passive scan beacon report" was
reverted. To correctly solve the original problem, bring forward the
change to update CFG_RM_CAPABILITY_DEFAULT.
Change-Id: I7a473a5babf7a7b32a633ea1fe6373574457dcb3
CRs-Fixed: 1060775
This reverts Change-Id Idc0b4f15f2b7464507aacfaefb99e1ba48ad1eca.
"qcacld-3.0: Fix max dwell time for passive scan beacon report"
introduced a change to allow some of the RRM parameters to be
controlled by the existing gRrmOperChanMax & gRrmNonOperChanMax INI
items. However those INI items are obsolete, having been replaced
with rm_capability. So revert the change, and a subsequent change
will update the default value of rm_capability to correctly solve the
original issue.
Change-Id: Ie67f9f95ea6832a5aec706a8ec0a42ee49b4844c
CRs-Fixed: 1060775
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default WCNSS_qcom_cfg.ini contains the following entry:
gDataInactivityTimeout=200
The associated default value within the driver is:
#define CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT (20)
These are obviously divergent and should be converged.
Note that this flag is used to change the value of the MAC CFG item
WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, and this currently has the
following default value:
#define WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT_STADEF 20
Since all recent testing has used the default WCNSS_qcom_cfg.ini,
converge on the value defined there, 200, in all locations.
Change-Id: I7895911708d5d17f73971254865da2cc177a3c5a
CRs-Fixed: 1063037
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default WCNSS_qcom_cfg.ini contains the following entry:
ImplicitQosIsEnabled=0
The associated default value within the driver is:
#define CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT (1)
These are obviously divergent and should be converged.
Note that this flag was added in a prior generation of the driver
during WMM-AC certification testing since some test cases would fail
when Implicit QoS was enabled. It is expected that all customers are
disabling this feature, and hence this feature should be disabled by
default within the driver itself.
Change-Id: If611b2b491b81b46c3254146ebd734dc244ffde5
CRs-Fixed: 1062978
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default WCNSS_qcom_cfg.ini contains the following entries:
Intf0MacAddress=000AF58989FF
Intf1MacAddress=000AF58989FE
Intf2MacAddress=000AF58989FD
Intf3MacAddress=000AF58989FC
The associated default values within the driver are:
#define CFG_INTF0_MAC_ADDR_DEFAULT "000AF5898980"
#define CFG_INTF1_MAC_ADDR_DEFAULT "000AF5898981"
#define CFG_INTF2_MAC_ADDR_DEFAULT "000AF5898982"
#define CFG_INTF3_MAC_ADDR_DEFAULT "000AF5898983"
These are obviously divergent and should be converged.
Elsewhere in the driver, in hdd_update_tgt_cfg(), is logic to
auto-generate MAC addresses if no addresses have been configured.
This logic currently checking:
static struct qdf_mac_addr default_mac_addr = {
{0x00, 0x0A, 0xF5, 0x89, 0x89, 0xFF}
};
Since this logic is aligned with the values present in the default
version of WCNSS_qcom_cfg.ini, update the CFG_INTF*_MAC_ADDR_DEFAULT
definitions to match.
Change-Id: Ic34bc67cffad44b4d61cdfeb06776d0e3a63889f
CRs-Fixed: 1062967
Currently cfg.ini supports an "isAndroidPsEn" configuration item.
However this item is no longer in use, so remove the obsolete support
for this item.
Change-Id: I632513b5e6365a658bb02e0a47a40de94b04856c
CRs-Fixed: 1060747
Currently cfg.ini supports the following configuration items:
beaconEarlyTerminationWakeInterval
enableBeaconEarlyTermination
However neither of these is actually used by the driver, so remove the
obsolete support for these configuration items.
Change-Id: I41caec6697c0ff37efcf7db5dd7ab27ff2cdee95
CRs-Fixed: 1060657
Currently cfg.ini supports a "gFlexConnectPowerFactor"
configuration item, and this is used to override the
WNI_CFG_FLEX_CONNECT_POWER_FACTOR entry in the MAC CFG database.
However this MAC CFG database entry is no longer in use, so remove
the obsolete support for this configuration item.
Change-Id: I660a18a2663ca7ce29ca2c8bacf4a869de684ffb
CRs-Fixed: 1060643
Currently cfg.ini supports a "gEnablePhyAgcListenMode"
configuration item, and this is used to override the
WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE entry in the MAC CFG
database. However this MAC CFG database entry is no longer in
use, so remove the obsolete support for this configuration item.
Change-Id: I24a0dcf3d834ec794d88d16ca092ee25084183ce
CRs-Fixed: 1060636
Currently cfg.ini supports a "gNumRxAnt" configuration item, and this
is used to override the WNI_CFG_CURRENT_RX_ANTENNA entry in the MAC
CFG database. However this MAC CFG database entry is no longer in
use, so remove the obsolete support for this configuration item.
Change-Id: I8a8f7ca382262edee187013425fd41598783342c
CRs-Fixed: 1060626
Currently cfg.ini supports a "gEnableAutomaticTxPowerControl"
configuration item, and this is used to override the
WNI_CFG_TX_PWR_CTRL_ENABLE entry in the MAC CFG database. However
this MAC CFG database entry is no longer in use, so remove the
obsolete support for this configuration item.
Change-Id: I8ca653bc75c18692519ff1d88f52441e7f0375f5
CRs-Fixed: 1060597
Currently cfg.ini supports a "gEnableCloseLoop" configuration item,
and this is used to override the WNI_CFG_ENABLE_CLOSE_LOOP entry in
the MAC CFG database. However this MAC CFG database entry is no
longer in use, so remove the obsolete support for this configuration
item.
Change-Id: Ic8b7f4f522e910476273dd428bbb471a19cbe79f
CRs-Fixed: 1060579
Currently the qcacld-3.0 project contains a "sample" version of the
WCNSS_qcom_cfg.ini configuration file. This differs from the "real"
versions that are kept on a per-product basis in product-specific
projects. This has become a source of confusion since developers are
surprised when their modifications to the sample aren't reflected on
the product. Remove the confusion by removing the sample file. Folks
will then know they need to modify the product-specific files in their
product-specific projects.
Change-Id: Ia1b04ac431d3ae0e91d597bdfa6b8acfcd19d9e7
CRs-Fixed: 1065266
Interrupt handlers do not have valid process context and hence
current pointer is not valid for software/hardware interrupt
handlers. In WLAN log to user space API current process name is
logged using current->comm but hardware/software interrupts do not
have corresponding current pointer because they use current pointer
of interrupted process. Make changes to not to log process name when
log message is generated from hardware/software interrupt handlers.
Change-Id: I42420c501f9e7161112c5210909f83755ba4813e
CRs-Fixed: 1065898
In softap case DEVICE_IFACE_OPENED flag is not set/cleared when the
interface is opened/stopped(hdd_hostapd_open/hdd_hostapd_stop).
During the STA+SAP concurrency when the STA is turned
off, during the interface down it check's if any interfaces are opened,
if no interfaces are opened it starts the timer to close the modules.
Since the interface opened flag is not set for softap case the timer
is getting kickstarted and resulting in closing the modules even when
the SOFTAP is running.
To migitate the issue, set/clear the DEVICE_IFACE_OPENED in the adapter
even for SOFTAP.
Change-Id: I9e3f1391d92473d8a189d9fee6523ec3a7554c96
CRs-Fixed: 1065130
When FW wakes up APPS processor from power collapse it sends 120
bytes of payload piggy backed to wake up event handler. There are
some types of frames for which packet stats is not maintained.
Clean up log messages in WMA such that error message is not logged
to console.
Change-Id: I31d032874e5c9b8773a4e8d5067923c1dd20e23a
CRs-Fixed: 1065309
Send vendor specific TPC report IE as part of scan request IE to firmware.
This IE will then be included in probe request sent by firmware for scan.
Change-Id: I16e067de3980faa773d5027306795ca8e2a3c247
CRs-Fixed: 1062155
When receiving a power save request from user space, disable any active
power save timer and start a new one using the timeout supplied from
user space.
Change-Id: I88299776a973118e1bdba8cfd5fa4c8018f0758a
CRs-Fixed: 1065234
When coniguring NS Offload via Cfg80211, configure firmware NS Offload
to match via HDD.
Change-Id: I8d95be773ff29512ebb72a8eb5e9dddbc9e675dd
CRs-Fixed: 1064168
qcacld-2.0 to qcacld-3.0 propagation
In the current implementation, there is no log of instructions
set by framework.
To resolve this and understand the packet filters,
log of set instructions is added.
Change-Id: Ibe3c23de374261741f78a76c05c97b2342e9064e
CRs-Fixed: 1013062
Currently in wma_wow_wakeup_host_event, NDP WOW handler code is doing manual
pointer arthematics followed conversion to event tlv. This is duplicate effort
as necessary wmi event struct is already available. Remove this and directly
use wmi event struct.
Change-Id: I90da473d773781d007f4932d6ffbec389d5a2766
CRs-Fixed: 1058503
This is qcacld-2.0 to qcacld-3.0 propagation.
Change NDP_SERVICE_INSTANCE_ID from 16 bits to 32 bits
Change-Id: I4fab1af6d9b8e34396bb3679f112c7f29bbe9f93
CRs-Fixed: 962367
Fix below build error:
qcacld-3.0/core/hdd/src/wlan_hdd_softap_tx_rx.c:605:2: error: implicit
declaration of function 'cds_host_diag_log_work'
[-Werror=implicit-function-declaration]
cds_host_diag_log_work(&pHddCtx->rx_wake_lock,
^
cc1: all warnings being treated as errors
Change-Id: Ia1fe71abd783e24e91ae197db4a6b8fcc0b28ec7
CRs-Fixed: 1065872
When NS offloading is enabled, and we reach the maximum number of supported
addresses, disable NS offload so Apps can handle it.
Change-Id: I8312d5e8091cfbdc1f6e3e1e1093ae1dca0c096c
CRs-Fixed: 1063737
In sap_random_channel_sel function, new channel and channel width will
be calculated based on the available channels. New channel width is
populated to only new_chanWidth and this new channel width value will be
assigned to new_ch_params in wlansap_set_channel_change_with_csa.
This channel width from new_ch_params will be used as new channel width
on restarting SAP on Radar detection.
wlansap_set_channel_change_with_csa will get called only when radar is
detected when SAP started beaconing (after CAC wait).
If radar is detected during CAC_WAIT state, new_ch_params will not be
having new calculated channel width, it will be having zero, So during
this scenario SAP will be restarted with 20MHz bandwidth.
To fix this, populate new channel width to new_ch_params in
sap_random_channel_sel along with new_chanWidth.
Change-Id: If07f875dda3a4f6d29480c84b784ca7995c19c7f
CRs-Fixed: 1063038
(cherry picked from commit 714eb0a7fae9c4e50b1c52fa27001705991ab6eb)
Peer create is called before peer delete which
triggered assert at firmware.
Remove the duplicate peer entry before creating
a new entry for the same peer by serializing
the messages.
Change-Id: Ibf044df5271e9cd2fc3e869bb28d101d3ea9ad43
CRs-Fixed: 1052279
(cherry picked from commit fe914b42b15af00236e3db8e0d6c7d408c5bc4be)