qcacld-3.0: Disable ARP_NS and GTK offload for NaN mode

arp_ns_offload and gtk offload command are being issued for NaN mode
vdev. NaN mode vdev does not support ARP_NS and GTK off load features,
so disable them when in NaN mode.

Change-Id: Iab11c92bb5da4004b62e642342a386f532832509
CRs-Fixed: 2608618
This commit is contained in:
Alan Chen
2020-01-29 12:27:55 -08:00
gecommit door nshrivas
bovenliggende 09aeb2cc35
commit 4ea561fa80
2 gewijzigde bestanden met toevoegingen van 17 en 5 verwijderingen

Bestand weergeven

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2020 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -72,6 +72,13 @@ static QDF_STATUS pmo_core_do_enable_gtk_offload(
{
QDF_STATUS status = QDF_STATUS_SUCCESS;
uint8_t vdev_id;
enum QDF_OPMODE op_mode;
op_mode = pmo_get_vdev_opmode(vdev);
if (QDF_NDI_MODE == op_mode) {
pmo_debug("gtk offload is not supported in NaN mode");
return QDF_STATUS_E_INVAL;
}
if (!pmo_core_is_vdev_supports_offload(vdev)) {
pmo_debug("vdev in invalid opmode for gtk offload %d",
@@ -156,6 +163,13 @@ static QDF_STATUS pmo_core_do_disable_gtk_offload(
struct pmo_gtk_req *op_gtk_req)
{
QDF_STATUS status = QDF_STATUS_SUCCESS;
enum QDF_OPMODE op_mode;
op_mode = pmo_get_vdev_opmode(vdev);
if (QDF_NDI_MODE == op_mode) {
pmo_debug("gtk offload is not supported in NaN mode");
return QDF_STATUS_E_INVAL;
}
status = pmo_core_is_gtk_enabled_in_fwr(vdev, vdev_ctx);
if (status != QDF_STATUS_SUCCESS)

Bestand weergeven

@@ -281,8 +281,7 @@ static void __wlan_hdd_ipv6_changed(struct net_device *net_dev)
goto exit;
if (adapter->device_mode == QDF_STA_MODE ||
adapter->device_mode == QDF_P2P_CLIENT_MODE ||
adapter->device_mode == QDF_NDI_MODE) {
adapter->device_mode == QDF_P2P_CLIENT_MODE) {
hdd_debug("invoking sme_dhcp_done_ind");
sme_dhcp_done_ind(hdd_ctx->mac_handle, adapter->vdev_id);
schedule_work(&adapter->ipv6_notifier_work);
@@ -910,8 +909,7 @@ static void __wlan_hdd_ipv4_changed(struct net_device *net_dev)
goto exit;
if (adapter->device_mode == QDF_STA_MODE ||
adapter->device_mode == QDF_P2P_CLIENT_MODE ||
adapter->device_mode == QDF_NDI_MODE) {
adapter->device_mode == QDF_P2P_CLIENT_MODE) {
hdd_debug("invoking sme_dhcp_done_ind");
sme_dhcp_done_ind(hdd_ctx->mac_handle, adapter->vdev_id);