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:
@@ -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)
|
||||
|
@@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user