kernel-module-qualcomm: remove patches

Since 30c253e108 the module is compiled from a repository which already
includes the patches, so we can remove them from DEY.

Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
This commit is contained in:
Diaz de Grenu, Jose 2017-05-22 10:40:32 +02:00
parent f8c2888529
commit f9acd0af7c
22 changed files with 0 additions and 1328 deletions

View File

@ -1,64 +0,0 @@
From: Yi Chen <yichen@qti.qualcomm.com>
Date: Fri, 28 Aug 2015 19:24:45 +0800
Subject: [PATCH] qcacld: Fix compiling errors when BUILD_DEBUG_VERSION := 0.
This is a compiling issue when BUILD_DEBUG_VERSION := 0 is set in Kbuild.
Change-Id: Iaee98eb91d66990dfa4989a7c07cb5592f8a6079
CRs-Fixed: 898366
(cherry picked from commit d0258ff1dcf19236e4cfa69e45f75b72a1334609)
---
CORE/UTILS/FWLOG/dbglog_host.c | 4 ++--
Kbuild | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/CORE/UTILS/FWLOG/dbglog_host.c b/CORE/UTILS/FWLOG/dbglog_host.c
index 2dfa45983a87..63fc742259fc 100644
--- a/CORE/UTILS/FWLOG/dbglog_host.c
+++ b/CORE/UTILS/FWLOG/dbglog_host.c
@@ -55,8 +55,6 @@
#include <a_debug.h>
#define FWLOG_DEBUG ATH_DEBUG_MAKE_MODULE_MASK(0)
-#if defined(DEBUG)
-
static bool appstarted = FALSE;
static bool senddriverstatus = FALSE;
static bool kd_nl_init = FALSE;
@@ -64,6 +62,8 @@ static int cnss_diag_pid = INVALID_PID;
static int get_version = 0;
static int gprint_limiter = 0;
+#if defined(DEBUG)
+
static ATH_DEBUG_MASK_DESCRIPTION g_fwlogDebugDescription[] = {
{FWLOG_DEBUG,"fwlog"},
};
diff --git a/Kbuild b/Kbuild
index 04461cfb7945..b248eee28bf0 100644
--- a/Kbuild
+++ b/Kbuild
@@ -882,7 +882,6 @@ CDEFINES := -DANI_LITTLE_BYTE_ENDIAN \
-DWLAN_PERF \
-DPTT_SOCK_SVC_ENABLE \
-Wall\
- -Werror\
-D__linux__ \
-DHAL_SELF_STA_PER_BSS=1 \
-DWLAN_FEATURE_VOWIFI_11R \
@@ -966,11 +965,12 @@ CDEFINES += -DWCN_PRONTO
CDEFINES += -DWCN_PRONTO_V1
endif
+CDEFINES += -DTRACE_RECORD \
+ -DLIM_TRACE_RECORD \
+ -DSME_TRACE_RECORD
+
ifeq ($(BUILD_DEBUG_VERSION),1)
CDEFINES += -DWLAN_DEBUG \
- -DTRACE_RECORD \
- -DLIM_TRACE_RECORD \
- -DSME_TRACE_RECORD \
-DPE_DEBUG_LOGW \
-DPE_DEBUG_LOGE \
-DDEBUG

View File

@ -1,57 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Mon, 18 Apr 2016 08:48:14 +0200
Subject: [PATCH] Update cfg80211_vendor_event_alloc call for newer kernel
versions
Current compilation fails with next error.
> wlan_hdd_cfg80211.h:995:9: error: too few arguments to function 'cfg80211_vendor_event_alloc'
This function has been updated starting with kernel 3.15
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
CORE/HDD/inc/wlan_hdd_cfg80211.h | 2 +-
CORE/HDD/src/wlan_hdd_assoc.c | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/CORE/HDD/inc/wlan_hdd_cfg80211.h b/CORE/HDD/inc/wlan_hdd_cfg80211.h
index 7602f1d3874b..a40c55144bc5 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg80211.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg80211.h
@@ -992,7 +992,7 @@ backported_cfg80211_vendor_event_alloc(struct wiphy *wiphy,
int approxlen,
int event_idx, gfp_t gfp)
{
- return cfg80211_vendor_event_alloc(wiphy, approxlen, event_idx, gfp);
+ return cfg80211_vendor_event_alloc(wiphy, wdev, approxlen, event_idx, gfp);
}
#define cfg80211_vendor_event_alloc backported_cfg80211_vendor_event_alloc
#endif
diff --git a/CORE/HDD/src/wlan_hdd_assoc.c b/CORE/HDD/src/wlan_hdd_assoc.c
index bc3e15009d97..5dc882fa8f83 100644
--- a/CORE/HDD/src/wlan_hdd_assoc.c
+++ b/CORE/HDD/src/wlan_hdd_assoc.c
@@ -2027,6 +2027,8 @@ static void hdd_RoamIbssIndicationHandler( hdd_adapter_t *pAdapter,
eRoamCmdStatus roamStatus,
eCsrRoamResult roamResult )
{
+ struct ieee80211_channel *chann;
+
hddLog(VOS_TRACE_LEVEL_INFO, "%s: %s: id %d, status %d, result %d",
__func__, pAdapter->dev->name, roamId, roamStatus, roamResult);
@@ -2082,7 +2084,13 @@ static void hdd_RoamIbssIndicationHandler( hdd_adapter_t *pAdapter,
return;
}
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
+ chann = ieee80211_get_channel(pAdapter->wdev.wiphy,
+ (int)pRoamInfo->pBssDesc->channelId);
+ cfg80211_ibss_joined(pAdapter->dev, bss->bssid, chann, GFP_KERNEL);
+#else
cfg80211_ibss_joined(pAdapter->dev, bss->bssid, GFP_KERNEL);
+#endif
cfg80211_put_bss(
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) || defined(WITH_BACKPORTS)
pHddCtx->wiphy,

View File

@ -1,30 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Thu, 21 Apr 2016 10:30:51 +0200
Subject: [PATCH] wlan_hdd_main: Update cfg80211_ap_stopped to
nl80211_send_ap_stopped
Use nl80211_send_ap_stopped instead of cfg80211_ap_stopped for newer
kernel versions
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
CORE/HDD/src/wlan_hdd_main.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 5e4e95aaaee4..0ff3f31b9863 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -9929,8 +9929,12 @@ VOS_STATUS hdd_start_all_adapters( hdd_context_t *pHddCtx )
#if defined(MSM_PLATFORM) && !defined(WITH_BACKPORTS)
hddLog(VOS_TRACE_LEVEL_ERROR, "%s [SSR] send stop ap to supplicant",
__func__);
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0))
cfg80211_ap_stopped(pAdapter->dev, GFP_KERNEL);
#else
+ nl80211_send_ap_stopped(pAdapter->dev->ieee80211_ptr);
+#endif
+#else
hddLog(VOS_TRACE_LEVEL_ERROR, "%s [SSR] send restart supplicant",
__func__);
/* event supplicant to restart */

View File

@ -1,215 +0,0 @@
From: Karthick S <skarthic@qti.qualcomm.com>
Date: Fri, 14 Aug 2015 14:52:23 +0530
Subject: [PATCH] qcacld-2.0: remove unused code
Removed unused code from ReinitSDIO. Also removed mmcbusmode and it's
related references in the code.
Change-Id: Idaa40f31cc830c0e2fa5d6fbda8c78c9f434bdaf
CRs-Fixed: 890630
(cherry picked from commit acca7f817db52580a985de2804f30973b2ed9cb7)
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
(cherry picked from commit d63533a6cc46671141ac31290e4f020c236298ee)
---
CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c | 165 +--------------------
1 file changed, 2 insertions(+), 163 deletions(-)
diff --git a/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c b/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
index 31641c94351c..b3afed2a8d7c 100644
--- a/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
+++ b/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
@@ -57,11 +57,6 @@
#define MAX_HIF_DEVICES 2
-unsigned int mmcbusmode = 0;
-module_param(mmcbusmode, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
-MODULE_PARM_DESC(mmcbusmode, "Set MMC driver Bus Mode: 1-SDR12, 2-SDR25, 3-SDR50, 4-DDR50, 5-SDR104");
-EXPORT_SYMBOL(mmcbusmode);
-
unsigned int mmcbuswidth = 0;
module_param(mmcbuswidth, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
MODULE_PARM_DESC(mmcbuswidth, "Set MMC driver Bus Width: 1-1Bit, 4-4Bit, 8-8Bit");
@@ -689,98 +684,6 @@ A_STATUS ReinitSDIO(HIF_DEVICE *device)
sdio_claim_host(func);
do {
- /* 2.6.32 kernel does part of the SDIO initalization upon resume */
- A_BOOL lt_2_6_32 = (LINUX_VERSION_CODE<KERNEL_VERSION(2,6,32));
- if (lt_2_6_32) {
- A_UINT32 resp;
- A_UINT16 rca;
- A_UINT32 i;
- int bit = fls(host->ocr_avail) - 1;
- /* emulate the mmc_power_up(...) */
- host->ios.vdd = bit;
- host->ios.chip_select = MMC_CS_DONTCARE;
- host->ios.bus_mode = MMC_BUSMODE_OPENDRAIN;
- host->ios.power_mode = MMC_POWER_UP;
- host->ios.bus_width = MMC_BUS_WIDTH_1;
- host->ios.timing = MMC_TIMING_LEGACY;
- host->ops->set_ios(host, &host->ios);
- /*
- * This delay should be sufficient to allow the power supply
- * to reach the minimum voltage.
- */
- msleep(2);
-
- host->ios.clock = host->f_min;
- host->ios.power_mode = MMC_POWER_ON;
- host->ops->set_ios(host, &host->ios);
-
- /*
- * This delay must be at least 74 clock sizes, or 1 ms, or the
- * time required to reach a stable voltage.
- */
- msleep(2);
-
- /* Issue CMD0. Goto idle state */
- host->ios.chip_select = MMC_CS_HIGH;
- host->ops->set_ios(host, &host->ios);
- msleep(1);
- err = IssueSDCommand(device, MMC_GO_IDLE_STATE, 0, (MMC_RSP_NONE | MMC_CMD_BC), NULL);
- host->ios.chip_select = MMC_CS_DONTCARE;
- host->ops->set_ios(host, &host->ios);
- msleep(1);
- host->use_spi_crc = 0;
-
- if (err) {
- AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("ReinitSDIO: CMD0 failed : %d \n",err));
- break;
- }
-
- if (!host->ocr) {
- /* Issue CMD5, arg = 0 */
- err = IssueSDCommand(device, SD_IO_SEND_OP_COND, 0, (MMC_RSP_R4 | MMC_CMD_BCR), &resp);
- if (err) {
- AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("ReinitSDIO: CMD5 failed : %d \n",err));
- break;
- }
- host->ocr = resp;
- }
-
- /* Issue CMD5, arg = ocr. Wait till card is ready */
- for (i=0;i<100;i++) {
- err = IssueSDCommand(device, SD_IO_SEND_OP_COND, host->ocr, (MMC_RSP_R4 | MMC_CMD_BCR), &resp);
- if (err) {
- AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("ReinitSDIO: CMD5 failed : %d \n",err));
- break;
- }
- if (resp & MMC_CARD_BUSY) {
- break;
- }
- msleep(10);
- }
-
- if ((i == 100) || (err)) {
- AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("ReinitSDIO: card in not ready : %d %d \n",i,err));
- break;
- }
-
- /* Issue CMD3, get RCA */
- err = IssueSDCommand(device, SD_SEND_RELATIVE_ADDR, 0, MMC_RSP_R6 | MMC_CMD_BCR, &resp);
- if (err) {
- AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("ReinitSDIO: CMD3 failed : %d \n",err));
- break;
- }
- rca = resp >> 16;
- host->ios.bus_mode = MMC_BUSMODE_PUSHPULL;
- host->ops->set_ios(host, &host->ios);
-
- /* Issue CMD7, select card */
- err = IssueSDCommand(device, MMC_SELECT_CARD, (rca << 16), MMC_RSP_R1 | MMC_CMD_AC, NULL);
- if (err) {
- AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("ReinitSDIO: CMD7 failed : %d \n",err));
- break;
- }
- }
-
/* Enable high speed */
if (card->host->caps & MMC_CAP_SD_HIGHSPEED) {
AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("ReinitSDIO: Set high speed mode\n"));
@@ -1212,10 +1115,7 @@ TODO: MMC SDIO3.0 Setting should also be modified in ReInit() function when Powe
*/
{
A_UINT32 clock, clock_set = 12500000;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
- unsigned int bus_speed = 0, timing = 0;
- unsigned char speed = 0;
-#endif
+
sdio_claim_host(func);
if (writecccr1) {
A_UINT32 err = Func0_CMD52WriteByte(func->card,
@@ -1352,69 +1252,8 @@ TODO: MMC SDIO3.0 Setting should also be modified in ReInit() function when Powe
if (debugcccr) {
HIFDumpCCCR(device);
}
- // Set MMC Bus Mode: 1-SDR12, 2-SDR25, 3-SDR50, 4-DDR50, 5-SDR104
- if (mmcbusmode > 0) {
- printk("host caps:0x%08X, card_sd3_bus_mode:0x%08X\n", (unsigned int)func->card->host->caps, (unsigned int)func->card->sw_caps.sd3_bus_mode);
- if (mmcbusmode == 5 && (func->card->host->caps & MMC_CAP_UHS_SDR104) &&
- ((func->card->sw_caps.sd3_bus_mode & SD_MODE_UHS_SDR104) || forcecard)) {
- bus_speed = SDIO_SPEED_SDR104;
- timing = MMC_TIMING_UHS_SDR104;
- func->card->sw_caps.uhs_max_dtr = UHS_SDR104_MAX_DTR;
- AR_DEBUG_PRINTF(ATH_DEBUG_ANY,("%s: Set MMC bus mode to SDR104. \n", __func__));
- } else if (mmcbusmode == 4 && (func->card->host->caps & MMC_CAP_UHS_DDR50) &&
- ((func->card->sw_caps.sd3_bus_mode & SD_MODE_UHS_DDR50) || forcecard)) {
- bus_speed = SDIO_SPEED_DDR50;
- timing = MMC_TIMING_UHS_DDR50;
- func->card->sw_caps.uhs_max_dtr = UHS_DDR50_MAX_DTR;
- AR_DEBUG_PRINTF(ATH_DEBUG_ANY,("%s: Set MMC bus mode to DDR50. \n", __func__));
- } else if (mmcbusmode == 3 && (func->card->host->caps & (MMC_CAP_UHS_SDR104 | MMC_CAP_UHS_SDR50)) &&
- ((func->card->sw_caps.sd3_bus_mode & SD_MODE_UHS_SDR50) || forcecard)) {
- bus_speed = SDIO_SPEED_SDR50;
- timing = MMC_TIMING_UHS_SDR50;
- func->card->sw_caps.uhs_max_dtr = UHS_SDR50_MAX_DTR;
- AR_DEBUG_PRINTF(ATH_DEBUG_ANY,("%s: Set MMC bus mode to SDR50. \n", __func__));
- } else if (mmcbusmode == 2 && (func->card->host->caps &
- (MMC_CAP_UHS_SDR104 | MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_SDR25)) &&
- ((func->card->sw_caps.sd3_bus_mode & SD_MODE_UHS_SDR25) || forcecard)) {
- bus_speed = SDIO_SPEED_SDR25;
- timing = MMC_TIMING_UHS_SDR25;
- func->card->sw_caps.uhs_max_dtr = UHS_SDR25_MAX_DTR;
- AR_DEBUG_PRINTF(ATH_DEBUG_ANY,("%s: Set MMC bus mode to SDR25. \n", __func__));
- } else if (mmcbusmode == 1 && (func->card->host->caps & (MMC_CAP_UHS_SDR104 | MMC_CAP_UHS_SDR50 |
- MMC_CAP_UHS_SDR25 | MMC_CAP_UHS_SDR12)) &&
- ((func->card->sw_caps.sd3_bus_mode & SD_MODE_UHS_SDR12) || forcecard)) {
- bus_speed = SDIO_SPEED_SDR12;
- timing = MMC_TIMING_UHS_SDR12;
- func->card->sw_caps.uhs_max_dtr = UHS_SDR12_MAX_DTR;
- AR_DEBUG_PRINTF(ATH_DEBUG_ANY,("%s: Set MMC bus mode to SDR12. \n", __func__));
- } else {
- AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("%s: MMC bus mode %d not supported. \n", __func__, mmcbusmode));
- return ret = -1;
- }
-
- ret = Func0_CMD52ReadByte(func->card, SDIO_CCCR_SPEED, &speed);
- if (ret){
- AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("%s: CMD52 to get CCCR SPEED failed: %d, cap_uhs: %lu, sd3_bus_mode: %x \n", __func__, ret, (long unsigned int)(func->card->host->caps & (MMC_CAP_UHS_SDR104 | MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_SDR25 | MMC_CAP_UHS_SDR12)), func->card->sw_caps.sd3_bus_mode));
- return ret;
- }
-
- speed &= ~SDIO_SPEED_BSS_MASK;
- speed |= bus_speed;
- ret = Func0_CMD52WriteByte(func->card, SDIO_CCCR_SPEED, speed);
- if (ret){
- AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("%s: CMD52 to set CCCR SPPED failed: %d \n", __func__, ret));
- return ret;
- }
-
- if (bus_speed) {
- device->host->ios.timing = timing;
- device->host->ops->set_ios(device->host, &device->host->ios);
- // mmc_set_clock(func->card->host, func->card->sw_caps.uhs_max_dtr);
- }
- }
-
-#endif //#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0) */
sdio_release_host(func);
}

View File

@ -1,28 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Thu, 21 Apr 2016 13:19:10 +0200
Subject: [PATCH] Including header file for "regulatory_hint_user"
The function "regulatory_hint_user" has been moved from
include/net/cfg80211.h to net/wireless/reg.h.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
(cherry picked from commit db944bc907127c191b1bbdcc58d3aecedcf44a8c)
---
CORE/VOSS/src/vos_nvitem.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CORE/VOSS/src/vos_nvitem.c b/CORE/VOSS/src/vos_nvitem.c
index d79ae2871e4b..47290c9d1744 100644
--- a/CORE/VOSS/src/vos_nvitem.c
+++ b/CORE/VOSS/src/vos_nvitem.c
@@ -53,6 +53,10 @@
#include "regdomain.h"
#include "regdomain_common.h"
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0))
+#include <../net/wireless/reg.h>
+#endif
+
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)) && !defined(WITH_BACKPORTS)
#define IEEE80211_CHAN_NO_80MHZ 1<<7
#endif

View File

@ -1,75 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Thu, 21 Apr 2016 13:52:18 +0200
Subject: [PATCH] Updating calls to "alloc_netdev_mq"
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
CORE/EPPING/src/epping_txrx.c | 6 ++++++
CORE/HDD/src/wlan_hdd_hostapd.c | 4 ++++
CORE/HDD/src/wlan_hdd_main.c | 10 +++++++---
3 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/CORE/EPPING/src/epping_txrx.c b/CORE/EPPING/src/epping_txrx.c
index 678d58e0cfae..0985e362f94a 100644
--- a/CORE/EPPING/src/epping_txrx.c
+++ b/CORE/EPPING/src/epping_txrx.c
@@ -355,7 +355,13 @@ epping_adapter_t *epping_add_adapter(epping_context_t *pEpping_ctx,
struct net_device *dev;
epping_adapter_t *pAdapter;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0)
+ dev = alloc_netdev(sizeof(epping_adapter_t), "wifi%d", NET_NAME_UNKNOWN, ether_setup);
+#else
dev = alloc_netdev(sizeof(epping_adapter_t), "wifi%d", ether_setup);
+#endif
+
+
if (dev == NULL) {
EPPING_LOG(VOS_TRACE_LEVEL_FATAL,
"%s: Cannot allocate epping_adapter_t\n", __func__);
diff --git a/CORE/HDD/src/wlan_hdd_hostapd.c b/CORE/HDD/src/wlan_hdd_hostapd.c
index 6251224c11df..8a80d26f355a 100644
--- a/CORE/HDD/src/wlan_hdd_hostapd.c
+++ b/CORE/HDD/src/wlan_hdd_hostapd.c
@@ -5447,7 +5447,11 @@ hdd_adapter_t* hdd_wlan_create_ap_dev( hdd_context_t *pHddCtx, tSirMacAddr macAd
hddLog(VOS_TRACE_LEVEL_DEBUG, "%s: iface_name = %s", __func__, iface_name);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0)
+ pWlanHostapdDev = alloc_netdev_mq(sizeof(hdd_adapter_t), iface_name, NET_NAME_UNKNOWN, ether_setup, NUM_TX_QUEUES);
+#else
pWlanHostapdDev = alloc_netdev_mq(sizeof(hdd_adapter_t), iface_name, ether_setup, NUM_TX_QUEUES);
+#endif
if (pWlanHostapdDev != NULL)
{
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 0ff3f31b9863..a10da2a9b164 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -8226,7 +8226,11 @@ static hdd_adapter_t* hdd_alloc_station_adapter( hdd_context_t *pHddCtx, tSirMac
/*
* cfg80211 initialization and registration....
*/
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0)
+ pWlanDev = alloc_netdev_mq(sizeof( hdd_adapter_t ), name, NET_NAME_UNKNOWN, ether_setup, NUM_TX_QUEUES);
+#else
pWlanDev = alloc_netdev_mq(sizeof( hdd_adapter_t ), name, ether_setup, NUM_TX_QUEUES);
+#endif
if(pWlanDev != NULL)
{
@@ -9929,10 +9933,10 @@ VOS_STATUS hdd_start_all_adapters( hdd_context_t *pHddCtx )
#if defined(MSM_PLATFORM) && !defined(WITH_BACKPORTS)
hddLog(VOS_TRACE_LEVEL_ERROR, "%s [SSR] send stop ap to supplicant",
__func__);
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0))
- cfg80211_ap_stopped(pAdapter->dev, GFP_KERNEL);
-#else
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0))
nl80211_send_ap_stopped(pAdapter->dev->ieee80211_ptr);
+#else
+ cfg80211_ap_stopped(pAdapter->dev, GFP_KERNEL);
#endif
#else
hddLog(VOS_TRACE_LEVEL_ERROR, "%s [SSR] send restart supplicant",

View File

@ -1,28 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Thu, 21 Apr 2016 13:56:15 +0200
Subject: [PATCH] wlan_hdd_cfg80211: update "cfg80211_inform_bss" params for
kernel version
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
CORE/HDD/src/wlan_hdd_cfg80211.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index c09ac0304852..c6c79552a9d0 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -8460,8 +8460,11 @@ static struct cfg80211_bss* wlan_hdd_cfg80211_inform_bss(
WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS);
if (bss == NULL) {
rssi = (VOS_MIN ((pBssDesc->rssi + pBssDesc->sinr), 0))*100;
-
- return (cfg80211_inform_bss(wiphy, chan, pBssDesc->bssId,
+ return (cfg80211_inform_bss(wiphy, chan,
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
+ CFG80211_BSS_FTYPE_BEACON,
+#endif
+ pBssDesc->bssId,
le64_to_cpu(*(__le64 *)pBssDesc->timeStamp),
pBssDesc->capabilityInfo,
pBssDesc->beaconInterval, ie, ie_length,

View File

@ -1,45 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Thu, 21 Apr 2016 13:57:03 +0200
Subject: [PATCH] wlan_hdd_p2p: Update call to "cfg80211_rx_mgmt" for different
kernel versions
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
CORE/HDD/src/wlan_hdd_p2p.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/CORE/HDD/src/wlan_hdd_p2p.c b/CORE/HDD/src/wlan_hdd_p2p.c
index 0c6645f077f1..476b456e165c 100644
--- a/CORE/HDD/src/wlan_hdd_p2p.c
+++ b/CORE/HDD/src/wlan_hdd_p2p.c
@@ -826,7 +826,16 @@ void hdd_remainChanReadyHandler( hdd_adapter_t *pAdapter )
// Check for cached action frame
if(pRemainChanCtx->action_pkt_buff.frame_length != 0)
{
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) || defined(WITH_BACKPORTS)
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0))
+ cfg80211_rx_mgmt(pAdapter->dev->ieee80211_ptr,
+ pRemainChanCtx->action_pkt_buff.freq, 0,
+ pRemainChanCtx->action_pkt_buff.frame_ptr,
+ pRemainChanCtx->action_pkt_buff.frame_length,
+ NL80211_RXMGMT_FLAG_ANSWERED);
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) || defined(WITH_BACKPORTS)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) || defined(WITH_BACKPORTS)
cfg80211_rx_mgmt(pAdapter->dev->ieee80211_ptr,
pRemainChanCtx->action_pkt_buff.freq, 0,
pRemainChanCtx->action_pkt_buff.frame_ptr,
@@ -2340,7 +2349,11 @@ void hdd_indicateMgmtFrame( hdd_adapter_t *pAdapter,
//Indicate Frame Over Normal Interface
hddLog( LOG1, FL("Indicate Frame over NL80211 Interface"));
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) || defined(WITH_BACKPORTS)
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0))
+ cfg80211_rx_mgmt(pAdapter->dev->ieee80211_ptr, freq, 0, pbFrames,
+ nFrameLength, NL80211_RXMGMT_FLAG_ANSWERED);
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) || defined(WITH_BACKPORTS)
cfg80211_rx_mgmt(pAdapter->dev->ieee80211_ptr, freq, 0, pbFrames,
nFrameLength, NL80211_RXMGMT_FLAG_ANSWERED, GFP_ATOMIC);
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0))

View File

@ -1,43 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Thu, 21 Apr 2016 13:58:29 +0200
Subject: [PATCH] =?UTF-8?q?linux=5Fac:=20Fix=20for=20=E2=80=98f=5Fdentry?=
=?UTF-8?q?=E2=80=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
https://communities.vmware.com/thread/499483?start=0&tstart=0
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
CORE/UTILS/PKTLOG/linux_ac.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/CORE/UTILS/PKTLOG/linux_ac.c b/CORE/UTILS/PKTLOG/linux_ac.c
index b1969ad5d2ba..8d45d7365b2b 100644
--- a/CORE/UTILS/PKTLOG/linux_ac.c
+++ b/CORE/UTILS/PKTLOG/linux_ac.c
@@ -576,7 +576,10 @@ pktlog_read(struct file *file, char *buf, size_t nbytes, loff_t *ppos)
int rem_len;
int start_offset, end_offset;
int fold_offset, ppos_data, cur_rd_offset;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
+ struct ath_pktlog_info *pl_info = (struct ath_pktlog_info *)
+ PDE_DATA(file_inode(file));
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
struct ath_pktlog_info *pl_info = (struct ath_pktlog_info *)
PDE_DATA(file->f_dentry->d_inode);
#else
@@ -817,7 +820,10 @@ static struct vm_operations_struct pktlog_vmops = {
static int pktlog_mmap(struct file *file, struct vm_area_struct *vma)
{
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
+ struct ath_pktlog_info *pl_info = (struct ath_pktlog_info *)
+ PDE_DATA(file_inode(file));
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
struct ath_pktlog_info *pl_info = (struct ath_pktlog_info *)
PDE_DATA(file->f_dentry->d_inode);
#else

View File

@ -1,70 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Thu, 21 Apr 2016 14:00:59 +0200
Subject: [PATCH] native_sdio/src/hif: Do not call to HIGH SPEED functions for
newer kernels
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c b/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
index b3afed2a8d7c..1a1e51eff8c7 100644
--- a/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
+++ b/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
@@ -690,7 +690,9 @@ A_STATUS ReinitSDIO(HIF_DEVICE *device)
err = Func0_CMD52ReadByte(card, SDIO_CCCR_SPEED, &cmd52_resp);
if (err) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("ReinitSDIO: CMD52 read to CCCR speed register failed : %d \n",err));
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0)
card->state &= ~MMC_STATE_HIGHSPEED;
+#endif
/* no need to break */
} else {
err = Func0_CMD52WriteByte(card, SDIO_CCCR_SPEED, (cmd52_resp | SDIO_SPEED_EHS));
@@ -698,14 +700,20 @@ A_STATUS ReinitSDIO(HIF_DEVICE *device)
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("ReinitSDIO: CMD52 write to CCCR speed register failed : %d \n",err));
break;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0)
mmc_card_set_highspeed(card);
+#endif
host->ios.timing = MMC_TIMING_SD_HS;
host->ops->set_ios(host, &host->ios);
}
}
/* Set clock */
- if (mmc_card_highspeed(card)) {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0)
+ if (mmc_card_highspeed(card)) {
+#else
+ if (mmc_card_hs(card)) {
+#endif
clock = 50000000;
} else {
clock = card->cis.max_dtr;
@@ -1181,7 +1189,11 @@ TODO: MMC SDIO3.0 Setting should also be modified in ReInit() function when Powe
if (mmcclock > 0){
clock_set = mmcclock;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0)
if (mmc_card_highspeed(func->card)){
+#else
+ if (mmc_card_hs(func->card)){
+#endif
clock = 50000000;
} else {
clock = func->card->cis.max_dtr;
@@ -2000,7 +2012,11 @@ addHifDevice(struct sdio_func *func)
hifdevice->func = func;
hifdevice->powerConfig = HIF_DEVICE_POWER_UP;
hifdevice->DeviceState = HIF_DEVICE_STATE_ON;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0)
ret = sdio_set_drvdata(func, hifdevice);
+#else
+ sdio_set_drvdata(func, hifdevice);
+#endif
EXIT("status %d", ret);
return hifdevice;

View File

@ -1,24 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Thu, 21 Apr 2016 14:32:57 +0200
Subject: [PATCH] osdep_adf.h: fix for undefined ath_sysctl_pktlog_size
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
CORE/SERVICES/COMMON/osdep_adf.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CORE/SERVICES/COMMON/osdep_adf.h b/CORE/SERVICES/COMMON/osdep_adf.h
index 708b6f89fa03..48ca78618840 100644
--- a/CORE/SERVICES/COMMON/osdep_adf.h
+++ b/CORE/SERVICES/COMMON/osdep_adf.h
@@ -168,6 +168,10 @@ typedef unsigned long TQUEUE_ARG;
#define ATH_SYSCTL_PROC_DOSTRING(ctl, write, filp, buffer, lenp, ppos) \
proc_dostring(ctl, write, filp, buffer, lenp, ppos)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
+typedef struct ctl_table ctl_table;
+#endif
+
/*
* Byte Order stuff
*/

View File

@ -1,37 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Thu, 19 May 2016 12:28:39 +0200
Subject: [PATCH] Kbuild: Add compilation flag based on kernel support
The option WLAN_NL80211_TESTMODE was inconditionally added to the compilation
but it does required the specific kernel support.
https://jira.digi.com/browse/DEL-2567
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
Kbuild | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Kbuild b/Kbuild
index b248eee28bf0..339262874c94 100644
--- a/Kbuild
+++ b/Kbuild
@@ -908,7 +908,6 @@ CDEFINES := -DANI_LITTLE_BYTE_ENDIAN \
-DWLAN_WAKEUP_EVENTS \
-DFEATURE_WLAN_RA_FILTERING\
-DWLAN_KD_READY_NOTIFIER \
- -DWLAN_NL80211_TESTMODE \
-DFEATURE_WLAN_BATCH_SCAN \
-DFEATURE_WLAN_LPHB \
-DFEATURE_WLAN_PAL_TIMER_DISABLE \
@@ -948,6 +947,10 @@ CDEFINES += -DDFS_MASTER_OFFLOAD_IND_SUPPORT
endif
endif
+ifeq ($(CONFIG_NL80211_TESTMODE), y)
+CDEFINES += -DWLAN_NL80211_TESTMODE
+endif
+
ifeq ($(CONFIG_ARCH_MSM), y)
CDEFINES += -DMSM_PLATFORM
endif

View File

@ -1,25 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Tue, 5 Jul 2016 17:57:07 +0200
Subject: [PATCH] Kbuild: do not compile the DEBUG version inconditionally
Do not compile the DEBUG version inconditionally by adding the posibility to
define the DEBUG version as a flag parameter.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
Kbuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Kbuild b/Kbuild
index b14417a558cd..a0e203ce5493 100644
--- a/Kbuild
+++ b/Kbuild
@@ -121,7 +121,7 @@ endif
# Feature flags which are not (currently) configurable via Kconfig
#Whether to build debug version
-BUILD_DEBUG_VERSION := 1
+BUILD_DEBUG_VERSION ?= 1
#Enable this flag to build driver in diag version
BUILD_DIAG_VERSION := 1

View File

@ -1,48 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Tue, 5 Jul 2016 17:52:44 +0200
Subject: [PATCH] Kbuild: Group most of the relevant DEBUG options
The value of BUILD_DEBUG_VERSION will be used to compile the driver with most
of the relevant DEBUG flags. Use that variable to compile the debug version.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
Kbuild | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Kbuild b/Kbuild
index a0e203ce5493..e5f2e8ebd4ad 100644
--- a/Kbuild
+++ b/Kbuild
@@ -896,9 +896,7 @@ CDEFINES := -DANI_LITTLE_BYTE_ENDIAN \
-DWLAN_FEATURE_PACKET_FILTERING \
-DWLAN_FEATURE_VOWIFI \
-DWLAN_FEATURE_11AC \
- -DWLAN_FEATURE_P2P_DEBUG \
-DWLAN_ENABLE_AGEIE_ON_SCAN_RESULTS \
- -DWLANTL_DEBUG\
-DWLAN_NS_OFFLOAD \
-DWLAN_ACTIVEMODE_OFFLOAD_FEATURE \
-DWLAN_FEATURE_HOLD_RX_WAKELOCK \
@@ -936,8 +934,7 @@ CDEFINES += -DCONFIG_HL_SUPPORT \
-DSDIO_3_0 \
-DHIF_SDIO \
-DCONFIG_ATH_PROCFS_DIAG_SUPPORT \
- -DFEATURE_HL_GROUP_CREDIT_FLOW_CONTROL \
- -DDEBUG_HL_LOGGING
+ -DFEATURE_HL_GROUP_CREDIT_FLOW_CONTROL
endif
ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
@@ -974,8 +971,11 @@ CDEFINES += -DTRACE_RECORD \
ifeq ($(BUILD_DEBUG_VERSION),1)
CDEFINES += -DWLAN_DEBUG \
+ -DWLAN_FEATURE_P2P_DEBUG \
+ -DWLANTL_DEBUG\
-DPE_DEBUG_LOGW \
-DPE_DEBUG_LOGE \
+ -DDEBUG_HL_LOGGING \
-DDEBUG
endif

View File

@ -1,28 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Fri, 14 Oct 2016 10:28:29 +0200
Subject: [PATCH] wlan_hdd_cfg80211: fix missing ifdef clause
Fix the compilation for old kernels by defining a missing "ifdef" clause.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
CORE/HDD/inc/wlan_hdd_cfg80211.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/CORE/HDD/inc/wlan_hdd_cfg80211.h b/CORE/HDD/inc/wlan_hdd_cfg80211.h
index a40c55144bc5..95c1ddce7de4 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg80211.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg80211.h
@@ -992,7 +992,12 @@ backported_cfg80211_vendor_event_alloc(struct wiphy *wiphy,
int approxlen,
int event_idx, gfp_t gfp)
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
return cfg80211_vendor_event_alloc(wiphy, wdev, approxlen, event_idx, gfp);
+#else
+ return cfg80211_vendor_event_alloc(wiphy, approxlen, event_idx, gfp);
+#endif
+
}
#define cfg80211_vendor_event_alloc backported_cfg80211_vendor_event_alloc
#endif

View File

@ -1,25 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Mon, 17 Oct 2016 10:06:18 +0200
Subject: [PATCH] Add .gitignore rules
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
.gitignore | 9 +++++++++
1 file changed, 9 insertions(+)
create mode 100644 .gitignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..9886b5284c3f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+*.o
+*.o.cmd
+.tmp_versions
+.*
+Module.symvers
+modules.order
+*.mod.c
+cscope.*
+wlan.ko

View File

@ -1,206 +0,0 @@
From: Isaac Hermida <isaac.hermida@digi.com>
Date: Tue, 5 Jul 2016 14:55:15 +0530
Subject: [PATCH] wlan_hdd_main: initialize all adapter completion variables
In order to change the p2p device mode, delete and add virtual_iface
followed by change_iface will be invoked. But in this case device mode
is changed by invoking change_iface method without invoking delete and
add virtual_iface functions resulting in kernel panic.
This is because, in latter case hdd_open_adapter will not be invoked
for the intended device mode. Hence uninitialized completion variables
will be used for further operations.
To mitigate this issue, Initialize all completion variables of
hdd_adapter_t structure during open adapter irrespective of adapter's
device mode.
https://jira.digi.com/browse/DEL-3072
https://jira.digi.com/browse/DEL-3037
(cherry-picked from 20ed76a8e436042590aa25acb33a2ba3d6d34250)
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
---
CORE/HDD/inc/wlan_hdd_main.h | 1 +
CORE/HDD/src/wlan_hdd_hostapd.c | 10 -----
CORE/HDD/src/wlan_hdd_main.c | 82 ++++++++++++++++++++++++-----------------
3 files changed, 50 insertions(+), 43 deletions(-)
diff --git a/CORE/HDD/inc/wlan_hdd_main.h b/CORE/HDD/inc/wlan_hdd_main.h
index f01b7f309dc2..3c5a51a57d6c 100644
--- a/CORE/HDD/inc/wlan_hdd_main.h
+++ b/CORE/HDD/inc/wlan_hdd_main.h
@@ -1740,4 +1740,5 @@ static inline void wlan_hdd_stop_sap(hdd_adapter_t *ap_adapter) {}
static inline void wlan_hdd_start_sap(hdd_adapter_t *ap_adapter) {}
#endif
bool wlan_hdd_get_fw_state(hdd_adapter_t *adapter);
+void hdd_initialize_adapter_common(hdd_adapter_t *adapter);
#endif // end #if !defined( WLAN_HDD_MAIN_H )
diff --git a/CORE/HDD/src/wlan_hdd_hostapd.c b/CORE/HDD/src/wlan_hdd_hostapd.c
index 8a80d26f355a..4bd6b844ac5a 100644
--- a/CORE/HDD/src/wlan_hdd_hostapd.c
+++ b/CORE/HDD/src/wlan_hdd_hostapd.c
@@ -5389,9 +5389,6 @@ VOS_STATUS hdd_init_ap_mode( hdd_adapter_t *pAdapter )
return status;
}
- init_completion(&pAdapter->session_close_comp_var);
- init_completion(&pAdapter->session_open_comp_var);
-
sema_init(&(WLAN_HDD_GET_AP_CTX_PTR(pAdapter))->semWpsPBCOverlapInd, 1);
// Register as a wireless device
@@ -5494,13 +5491,6 @@ hdd_adapter_t* hdd_wlan_create_ap_dev( hdd_context_t *pHddCtx, tSirMacAddr macAd
pWlanHostapdDev->ieee80211_ptr = &pHostapdAdapter->wdev ;
pHostapdAdapter->wdev.wiphy = pHddCtx->wiphy;
pHostapdAdapter->wdev.netdev = pWlanHostapdDev;
- init_completion(&pHostapdAdapter->tx_action_cnf_event);
- init_completion(&pHostapdAdapter->cancel_rem_on_chan_var);
- init_completion(&pHostapdAdapter->rem_on_chan_ready_event);
- init_completion(&pHostapdAdapter->ula_complete);
- init_completion(&pHostapdAdapter->offchannel_tx_event);
- init_completion(&pHostapdAdapter->scan_info.scan_req_completion_event);
- init_completion(&pHostapdAdapter->scan_info.abortscan_event_var);
vos_event_init(&pHostapdAdapter->scan_info.scan_finished_event);
pHostapdAdapter->scan_info.scan_pending_option = WEXT_SCAN_PENDING_GIVEUP;
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index a10da2a9b164..b447f0931d52 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -8234,7 +8234,6 @@ static hdd_adapter_t* hdd_alloc_station_adapter( hdd_context_t *pHddCtx, tSirMac
if(pWlanDev != NULL)
{
-
//Save the pointer to the net_device in the HDD adapter
pAdapter = (hdd_adapter_t*) netdev_priv( pWlanDev );
@@ -8244,43 +8243,11 @@ static hdd_adapter_t* hdd_alloc_station_adapter( hdd_context_t *pHddCtx, tSirMac
pAdapter->pHddCtx = pHddCtx;
pAdapter->magic = WLAN_HDD_ADAPTER_MAGIC;
- init_completion(&pAdapter->session_open_comp_var);
- init_completion(&pAdapter->session_close_comp_var);
- init_completion(&pAdapter->disconnect_comp_var);
- init_completion(&pAdapter->linkup_event_var);
- init_completion(&pAdapter->cancel_rem_on_chan_var);
- init_completion(&pAdapter->rem_on_chan_ready_event);
- init_completion(&pAdapter->offchannel_tx_event);
- init_completion(&pAdapter->tx_action_cnf_event);
-#ifdef FEATURE_WLAN_TDLS
- init_completion(&pAdapter->tdls_add_station_comp);
- init_completion(&pAdapter->tdls_del_station_comp);
- init_completion(&pAdapter->tdls_mgmt_comp);
- init_completion(&pAdapter->tdls_link_establish_req_comp);
-#endif
-
- init_completion(&pHddCtx->mc_sus_event_var);
- init_completion(&pHddCtx->tx_sus_event_var);
- init_completion(&pHddCtx->rx_sus_event_var);
- init_completion(&pHddCtx->ready_to_suspend);
- init_completion(&pAdapter->ula_complete);
- init_completion(&pAdapter->change_country_code);
-
-#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
- init_completion(&pHddCtx->ready_to_extwow);
-#endif
-
-#ifdef FEATURE_WLAN_BATCH_SCAN
- init_completion(&pAdapter->hdd_set_batch_scan_req_var);
- init_completion(&pAdapter->hdd_get_batch_scan_req_var);
pAdapter->pBatchScanRsp = NULL;
pAdapter->numScanList = 0;
pAdapter->batchScanState = eHDD_BATCH_SCAN_STATE_STOPPED;
pAdapter->prev_batch_id = 0;
mutex_init(&pAdapter->hdd_batch_scan_lock);
-#endif
- init_completion(&pAdapter->scan_info.scan_req_completion_event);
- init_completion(&pAdapter->scan_info.abortscan_event_var);
vos_event_init(&pAdapter->scan_info.scan_finished_event);
pAdapter->scan_info.scan_pending_option = WEXT_SCAN_PENDING_GIVEUP;
@@ -9018,6 +8985,7 @@ hdd_adapter_t* hdd_open_adapter( hdd_context_t *pHddCtx, tANI_U8 session_type,
pAdapter->wdev.iftype = NL80211_IFTYPE_P2P_CLIENT;
pAdapter->device_mode = session_type;
+ hdd_initialize_adapter_common(pAdapter);
status = hdd_init_station_mode( pAdapter );
if( VOS_STATUS_SUCCESS != status )
@@ -9089,6 +9057,7 @@ hdd_adapter_t* hdd_open_adapter( hdd_context_t *pHddCtx, tANI_U8 session_type,
NL80211_IFTYPE_P2P_GO;
pAdapter->device_mode = session_type;
+ hdd_initialize_adapter_common(pAdapter);
status = hdd_init_ap_mode(pAdapter);
if( VOS_STATUS_SUCCESS != status )
goto err_free_netdev;
@@ -9163,6 +9132,7 @@ hdd_adapter_t* hdd_open_adapter( hdd_context_t *pHddCtx, tANI_U8 session_type,
pAdapter->device_mode = session_type;
status = hdd_register_interface( pAdapter, rtnl_held );
+ hdd_initialize_adapter_common(pAdapter);
hdd_init_tx_rx( pAdapter );
//Stop the Interface TX queue.
@@ -11735,6 +11705,13 @@ int hdd_wlan_startup(struct device *dev, v_VOID_t *hif_sc)
init_completion(&pHddCtx->full_pwr_comp_var);
init_completion(&pHddCtx->standby_comp_var);
init_completion(&pHddCtx->req_bmps_comp_var);
+ init_completion(&pHddCtx->mc_sus_event_var);
+ init_completion(&pHddCtx->tx_sus_event_var);
+ init_completion(&pHddCtx->rx_sus_event_var);
+ init_completion(&pHddCtx->ready_to_suspend);
+#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
+ init_completion(&pHddCtx->ready_to_extwow);
+#endif
spin_lock_init(&pHddCtx->schedScan_lock);
@@ -14494,6 +14471,45 @@ void wlan_hdd_start_sap(hdd_adapter_t *ap_adapter)
}
#endif
+/**
+ * hdd_initialize_adapter_common() - initialize completion variables
+ * @adapter: pointer to hdd_adapter_t
+ *
+ * Return: none
+ */
+void hdd_initialize_adapter_common(hdd_adapter_t *adapter)
+{
+ if (NULL == adapter) {
+ hddLog(VOS_TRACE_LEVEL_ERROR, "%s: adapter is NULL ", __func__);
+ return;
+ }
+ init_completion(&adapter->session_open_comp_var);
+ init_completion(&adapter->session_close_comp_var);
+ init_completion(&adapter->disconnect_comp_var);
+ init_completion(&adapter->linkup_event_var);
+ init_completion(&adapter->cancel_rem_on_chan_var);
+ init_completion(&adapter->rem_on_chan_ready_event);
+ init_completion(&adapter->offchannel_tx_event);
+ init_completion(&adapter->tx_action_cnf_event);
+#ifdef FEATURE_WLAN_TDLS
+ init_completion(&adapter->tdls_add_station_comp);
+ init_completion(&adapter->tdls_del_station_comp);
+ init_completion(&adapter->tdls_mgmt_comp);
+ init_completion(&adapter->tdls_link_establish_req_comp);
+#endif
+ init_completion(&adapter->ula_complete);
+ init_completion(&adapter->change_country_code);
+ init_completion(&adapter->scan_info.scan_req_completion_event);
+ init_completion(&adapter->scan_info.abortscan_event_var);
+
+#ifdef FEATURE_WLAN_BATCH_SCAN
+ init_completion(&adapter->hdd_set_batch_scan_req_var);
+ init_completion(&adapter->hdd_get_batch_scan_req_var);
+#endif
+
+ return;
+}
+
//Register the module init/exit functions
module_init(hdd_module_init);
module_exit(hdd_module_exit);

View File

@ -1,76 +0,0 @@
From: Alex Gonzalez <alex.gonzalez@digi.com>
Date: Mon, 12 Dec 2016 16:19:48 +0100
Subject: [PATCH] qcacld: Indicate disconnect event to upper layers.
This is to avoid the following warning:
------------[ cut here ]------------
WARNING: CPU: 0 PID: 1120 at net/wireless/core.c:1140 cfg80211_netdev_notifier_call+0x3a0/0x574()
Modules linked in: wlan(O-) evbug [last unloaded: wlan]
CPU: 0 PID: 1120 Comm: rmmod Tainted: G O 4.1.15-95656-g4c5caa2cab98-dirty #11
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[<80015ae4>] (unwind_backtrace) from [<8001269c>] (show_stack+0x10/0x14)
[<8001269c>] (show_stack) from [<80730464>] (dump_stack+0x84/0xc4)
[<80730464>] (dump_stack) from [<8002d220>] (warn_slowpath_common+0x80/0xb0)
[<8002d220>] (warn_slowpath_common) from [<8002d2ec>] (warn_slowpath_null+0x1c/0x24)
[<8002d2ec>] (warn_slowpath_null) from [<806bdad8>] (cfg80211_netdev_notifier_call+0x3a0/0x574)
[<806bdad8>] (cfg80211_netdev_notifier_call) from [<800462b8>] (notifier_call_chain+0x44/0x84)
[<800462b8>] (notifier_call_chain) from [<8004642c>] (raw_notifier_call_chain+0x18/0x20)
[<8004642c>] (raw_notifier_call_chain) from [<8057f8fc>] (rollback_registered_many+0x2a0/0x3a4)
[<8057f8fc>] (rollback_registered_many) from [<8057fa24>] (rollback_registered+0x24/0x38)
[<8057fa24>] (rollback_registered) from [<80581d24>] (unregister_netdevice_queue+0x54/0xb0)
[<80581d24>] (unregister_netdevice_queue) from [<80581d98>] (unregister_netdev+0x18/0x20)
[<80581d98>] (unregister_netdev) from [<7f02363c>] (hdd_close_all_adapters+0x7c/0xbc [wlan])
[<7f02363c>] (hdd_close_all_adapters [wlan]) from [<7f025be4>] (hdd_wlan_exit+0x2e4/0x72c [wlan])
[<7f025be4>] (hdd_wlan_exit [wlan]) from [<7f0260c8>] (__hdd_wlan_exit+0x9c/0xe4 [wlan])
[<7f0260c8>] (__hdd_wlan_exit [wlan]) from [<7f1c3238>] (ath_hif_sdio_remove+0x54/0xfc [wlan])
[<7f1c3238>] (ath_hif_sdio_remove [wlan]) from [<7f1c5de0>] (hifDeviceRemoved+0x7c/0x16c [wlan])
[<7f1c5de0>] (hifDeviceRemoved [wlan]) from [<804e9c8c>] (sdio_bus_remove+0x30/0xf8)
[<804e9c8c>] (sdio_bus_remove) from [<8036f598>] (__device_release_driver+0x70/0xe4)
[<8036f598>] (__device_release_driver) from [<8036fd34>] (driver_detach+0xac/0xb0)
[<8036fd34>] (driver_detach) from [<8036f2f8>] (bus_remove_driver+0x4c/0xa0)
[<8036f2f8>] (bus_remove_driver) from [<7f1c53a8>] (HIFShutDownDevice+0xbc/0x17c [wlan])
[<7f1c53a8>] (HIFShutDownDevice [wlan]) from [<7f1c36c4>] (hif_unregister_driver+0x28/0x48 [wlan])
[<7f1c36c4>] (hif_unregister_driver [wlan]) from [<7f1d2fa8>] (hdd_module_exit+0x140/0x18c [wlan])
[<7f1d2fa8>] (hdd_module_exit [wlan]) from [<8008ae18>] (SyS_delete_module+0x174/0x1b8)
[<8008ae18>] (SyS_delete_module) from [<8000f400>] (ret_fast_syscall+0x0/0x3c)
---[ end trace cb71790dd22e980e ]---
https://jira.digi.com/browse/DEL-3365
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
---
CORE/HDD/src/wlan_hdd_cfg80211.c | 3 +++
CORE/HDD/src/wlan_hdd_main.c | 5 +++++
2 files changed, 8 insertions(+)
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 43543a9a473d..ae86c88fcfa5 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -11038,6 +11038,9 @@ disconnected:
FL("Set HDD connState to eConnectionState_NotConnected"));
pHddStaCtx->conn_info.connState = eConnectionState_NotConnected;
+ /* indicate disconnected event to nl80211 */
+ cfg80211_disconnected(pAdapter->dev, WLAN_REASON_UNSPECIFIED, NULL, 0,
+ GFP_KERNEL);
return 0;
}
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index df5b1065d463..f057f8c177b1 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -9536,6 +9536,11 @@ VOS_STATUS hdd_stop_adapter( hdd_context_t *pHddCtx, hdd_adapter_t *pAdapter,
"%s: wait on disconnect_comp_var failed",
__func__);
}
+ else
+ {
+ cfg80211_disconnected(pAdapter->dev, WLAN_REASON_UNSPECIFIED,
+ NULL, 0, GFP_KERNEL);
+ }
}
else
{

View File

@ -1,26 +0,0 @@
From: Alex Gonzalez <alex.gonzalez@digi.com>
Date: Thu, 15 Dec 2016 13:31:12 +0100
Subject: [PATCH] wdd_hdd_main: Print con_mode to clearly see if in FTM mode.
We use FTM mode for RF testing.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
---
CORE/HDD/src/wlan_hdd_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index f057f8c177b1..d83602740b94 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -12607,8 +12607,8 @@ static int hdd_driver_init( void)
#ifdef HDD_TRACE_RECORD
MTRACE(hddTraceInit());
#endif
- pr_info("%s: loading driver v%s\n", WLAN_MODULE_NAME,
- QWLAN_VERSIONSTR TIMER_MANAGER_STR MEMORY_DEBUG_STR);
+ pr_info("%s: loading driver v%s in mode %d\n", WLAN_MODULE_NAME,
+ QWLAN_VERSIONSTR TIMER_MANAGER_STR MEMORY_DEBUG_STR, con_mode);
do {

View File

@ -1,23 +0,0 @@
From: Alex Gonzalez <alex.gonzalez@digi.com>
Date: Mon, 9 Jan 2017 16:51:17 +0100
Subject: [PATCH] Makefile: Pass BUILD_DEBUG_VERSION to kbuild system.
https://jira.digi.com/browse/DEL-3392
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
---
Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile b/Makefile
index c05b00f26c57..25cec85a0c1e 100644
--- a/Makefile
+++ b/Makefile
@@ -16,6 +16,7 @@ KBUILD_OPTIONS += CONFIG_QCA_WIFI_ISOC=0
KBUILD_OPTIONS += CONFIG_QCA_WIFI_2_0=1
KBUILD_OPTIONS += $(WLAN_SELECT)
KBUILD_OPTIONS += WLAN_OPEN_SOURCE=$(WLAN_OPEN_SOURCE)
+KBUILD_OPTIONS += BUILD_DEBUG_VERSION=$(BUILD_DEBUG_VERSION)
KBUILD_OPTIONS += $(KBUILD_EXTRA) # Extra config if any
all:

View File

@ -1,53 +0,0 @@
From: Pedro Perez de Heredia <pedro.perez@digi.com>
Date: Mon, 13 Feb 2017 09:43:50 +0100
Subject: [PATCH] kernel-module-qualcomm: cosmetic change log level for anoying
driver messages
Signed-off-by: Pedro Perez de Heredia <pedro.perez@digi.com>
---
CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c | 4 ++--
CORE/SVC/src/logging/wlan_logging_sock_svc.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c b/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
index 1a1e51e..ee2af05 100644
--- a/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
+++ b/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
@@ -1202,7 +1202,7 @@ TODO: MMC SDIO3.0 Setting should also be modified in ReInit() function when Powe
clock = device->host->f_max;
}
- printk(KERN_ERR "%s: Dumping clocks (%d,%d)\n", __func__, func->card->cis.max_dtr, device->host->f_max);
+ pr_info("%s: Dumping clocks (%d,%d)\n", __func__, func->card->cis.max_dtr, device->host->f_max);
/*
// We don't need to set the clock explicitly on 8064/ADP platforms.
@@ -1513,7 +1513,7 @@ static A_STATUS hifEnableFunc(HIF_DEVICE *device, struct sdio_func *func)
sdio_release_host(func);
return A_ERROR;
}
- printk(KERN_ERR"AR6000: Set async interrupt delay clock as %d.\n", asyncintdelay);
+ pr_info("AR6000: Set async interrupt delay clock as %d.\n", asyncintdelay);
}
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
diff --git a/CORE/SVC/src/logging/wlan_logging_sock_svc.c b/CORE/SVC/src/logging/wlan_logging_sock_svc.c
index 0253215..379d878 100644
--- a/CORE/SVC/src/logging/wlan_logging_sock_svc.c
+++ b/CORE/SVC/src/logging/wlan_logging_sock_svc.c
@@ -431,13 +431,13 @@ static int wlan_logging_thread(void *Arg)
|| gwlan_logging.exit));
if (ret_wait_status == -ERESTARTSYS) {
- pr_err("%s: wait_event_interruptible returned -ERESTARTSYS",
+ pr_info("%s: wait_event_interruptible returned -ERESTARTSYS",
__func__);
break;
}
if (gwlan_logging.exit) {
- pr_err("%s: Exiting the thread\n", __func__);
+ pr_info("%s: Exiting the thread\n", __func__);
break;
}

View File

@ -1,102 +0,0 @@
From: Pedro Perez de Heredia <pedro.perez@digi.com>
Date: Mon, 13 Feb 2017 10:28:35 +0100
Subject: [PATCH] kernel-module-qualcomm: fix issue with _scan_callback at
module unload
Protect the invocation of the _scan_done() callback function with the
global lock to avoid that it is called while the module is being unloaded
and the data structures have been freed.
https://jira.digi.com/browse/DEL-3607
https://jira.digi.com/browse/DEL-3393
Signed-off-by: Pedro Perez de Heredia <pedro.perez@digi.com>
---
CORE/SME/src/csr/csrApiScan.c | 43 +++++++++++++++++++++++++++++--------------
1 file changed, 29 insertions(+), 14 deletions(-)
diff --git a/CORE/SME/src/csr/csrApiScan.c b/CORE/SME/src/csr/csrApiScan.c
index 83a74cb..2f90cce 100644
--- a/CORE/SME/src/csr/csrApiScan.c
+++ b/CORE/SME/src/csr/csrApiScan.c
@@ -6420,13 +6420,20 @@ eHalStatus csrScanFreeRequest(tpAniSirGlobal pMac, tCsrScanRequest *pReq)
void csrScanCallCallback(tpAniSirGlobal pMac, tSmeCmd *pCommand, eCsrScanStatus scanStatus)
{
- if(pCommand->u.scanCmd.callback)
+ eHalStatus status;
+
+ status = sme_AcquireGlobalLock( &pMac->sme );
+ if ( HAL_STATUS_SUCCESS( status ) )
{
- pCommand->u.scanCmd.callback(pMac, pCommand->u.scanCmd.pContext,
- pCommand->sessionId,
- pCommand->u.scanCmd.scanID, scanStatus);
- } else {
- smsLog( pMac, LOG2, "%s:%d - Callback NULL!!!", __func__, __LINE__);
+ if(pCommand->u.scanCmd.callback)
+ {
+ pCommand->u.scanCmd.callback(pMac, pCommand->u.scanCmd.pContext,
+ pCommand->sessionId,
+ pCommand->u.scanCmd.scanID, scanStatus);
+ } else {
+ smsLog( pMac, LOG2, "%s:%d - Callback NULL!!!", __func__, __LINE__);
+ }
+ sme_ReleaseGlobalLock( &pMac->sme );
}
}
@@ -7126,6 +7133,7 @@ tANI_BOOLEAN csrScanRemoveFreshScanCommand(tpAniSirGlobal pMac, tANI_U8 sessionI
tSmeCmd *pCommand;
tDblLinkList localList;
tDblLinkList *pCmdList;
+ eHalStatus status;
vos_mem_zero(&localList, sizeof(tDblLinkList));
if(!HAL_STATUS_SUCCESS(csrLLOpen(pMac->hHdd, &localList)))
@@ -7178,15 +7186,21 @@ tANI_BOOLEAN csrScanRemoveFreshScanCommand(tpAniSirGlobal pMac, tANI_U8 sessionI
while( (pEntry = csrLLRemoveHead(&localList, LL_ACCESS_NOLOCK)) )
{
pCommand = GET_BASE_ADDR(pEntry, tSmeCmd, Link);
- if (pCommand->u.scanCmd.callback)
+
+ status = sme_AcquireGlobalLock( &pMac->sme );
+ if ( HAL_STATUS_SUCCESS( status ) )
{
- /* User scan request is pending,
+ if (pCommand->u.scanCmd.callback)
+ {
+ /* User scan request is pending,
* send response with status eCSR_SCAN_ABORT*/
- pCommand->u.scanCmd.callback(pMac,
- pCommand->u.scanCmd.pContext,
- sessionId,
- pCommand->u.scanCmd.scanID,
- eCSR_SCAN_ABORT);
+ pCommand->u.scanCmd.callback(pMac,
+ pCommand->u.scanCmd.pContext,
+ sessionId,
+ pCommand->u.scanCmd.scanID,
+ eCSR_SCAN_ABORT);
+ }
+ sme_ReleaseGlobalLock( &pMac->sme );
}
csrReleaseCommandScan( pMac, pCommand );
}
@@ -8015,7 +8029,6 @@ eHalStatus csrProcessSetBGScanParam(tpAniSirGlobal pMac, tSmeCmd *pCommand)
return (status);
}
-
eHalStatus csrScanAbortMacScan(tpAniSirGlobal pMac, tANI_U8 sessionId,
eCsrAbortReason reason)
{
@@ -8035,6 +8048,8 @@ eHalStatus csrScanAbortMacScan(tpAniSirGlobal pMac, tANI_U8 sessionId,
{
pCommand = GET_BASE_ADDR( pEntry, tSmeCmd, Link );
+ pCommand->u.scanCmd.callback = NULL;
+ pCommand->u.scanCmd.pContext = NULL;
csrAbortCommand( pMac, pCommand, eANI_BOOLEAN_FALSE);
}
csrLLUnlock(&pMac->scan.scanCmdPendingList);