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:
parent
f8c2888529
commit
f9acd0af7c
|
|
@ -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
|
|
||||||
|
|
@ -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,
|
|
||||||
|
|
@ -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 */
|
|
||||||
|
|
@ -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);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -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",
|
|
||||||
|
|
@ -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,
|
|
||||||
|
|
@ -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))
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -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;
|
|
||||||
|
|
@ -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
|
|
||||||
*/
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -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);
|
|
||||||
|
|
@ -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
|
|
||||||
{
|
|
||||||
|
|
@ -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 {
|
|
||||||
|
|
||||||
|
|
@ -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:
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -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);
|
|
||||||
Loading…
Reference in New Issue