summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRongjun Chen <rongjun.chen@amlogic.com>2019-09-17 10:44:18 +0800
committerRongjun Chen <rongjun.chen@amlogic.com>2019-09-18 14:39:57 +0800
commitb78055178bc5f60e8ade74f5d7d5c86d3973283b (patch)
treea149586bde9d06622ca44ee9a1884c840dc9b6ce
parent965f77c4b3af197e85dda3dd2b52c3f22a126437 (diff)
downloaddhd-driver-b78055178bc5f60e8ade74f5d7d5c86d3973283b.tar.gz
wifi: update driver to fix vts crash issue [1/1]
PD#SWPL-13921 Problem: vts test crash Solution: update driver to fix it Verify: ampere Change-Id: I2049e3ccc950126f1b5f921ee0927029c3198070
-rw-r--r--bcmdhd.100.10.315.x/Makefile2
-rw-r--r--bcmdhd.100.10.315.x/bcmsdh_sdmmc.c3
-rw-r--r--bcmdhd.100.10.315.x/dhd_linux.c9
-rw-r--r--bcmdhd.100.10.315.x/dhd_linux_platdev.c2
-rw-r--r--bcmdhd.100.10.315.x/include/epivers.h2
-rw-r--r--bcmdhd.100.10.315.x/wl_cfg80211.c6
-rw-r--r--bcmdhd.100.10.315.x/wl_cfgscan.c2
-rw-r--r--bcmdhd.100.10.315.x/wl_cfgvendor.c7
8 files changed, 12 insertions, 21 deletions
diff --git a/bcmdhd.100.10.315.x/Makefile b/bcmdhd.100.10.315.x/Makefile
index 580df9c..af14ef2 100644
--- a/bcmdhd.100.10.315.x/Makefile
+++ b/bcmdhd.100.10.315.x/Makefile
@@ -47,7 +47,7 @@ DHDOFILES = aiutils.o siutils.o sbutils.o bcmutils.o bcmwifi_channels.o \
dhd_debug_linux.o dhd_debug.o dhd_mschdbg.o dhd_dbg_ring.o \
hnd_pktq.o hnd_pktpool.o bcmxtlv.o linux_pkt.o bcmstdlib_s.o frag.o \
dhd_linux_exportfs.o dhd_linux_pktdump.o \
- dhd_config.o wl_event.o wl_android_ext.o wl_escan.o
+ dhd_config.o wl_event.o wl_android_ext.o wl_escan.o
#BCMDHD_SDIO
ifneq ($(CONFIG_BCMDHD_SDIO),)
diff --git a/bcmdhd.100.10.315.x/bcmsdh_sdmmc.c b/bcmdhd.100.10.315.x/bcmsdh_sdmmc.c
index f87dbec..89b2c9f 100644
--- a/bcmdhd.100.10.315.x/bcmsdh_sdmmc.c
+++ b/bcmdhd.100.10.315.x/bcmsdh_sdmmc.c
@@ -1180,9 +1180,6 @@ sdioh_request_packet_chain(sdioh_info_t *sd, uint fix_inc, uint write, uint func
* a restriction on max tx/glom count (based on host->max_segs).
*/
if (sg_count >= ARRAYSIZE(sd->sg_list)) {
- sd_err(("%s: sg list entries(%u) exceed limit(%zu),"
- " sd blk_size=%u\n",
- __FUNCTION__, sg_count, (size_t)ARRAYSIZE(sd->sg_list), blk_size));
return (SDIOH_API_RC_FAIL);
}
pdata += pkt_offset;
diff --git a/bcmdhd.100.10.315.x/dhd_linux.c b/bcmdhd.100.10.315.x/dhd_linux.c
index 53952ce..7d858fd 100644
--- a/bcmdhd.100.10.315.x/dhd_linux.c
+++ b/bcmdhd.100.10.315.x/dhd_linux.c
@@ -2644,7 +2644,6 @@ _dhd_set_mac_address(dhd_info_t *dhd, int ifidx, uint8 *addr)
memcpy(dhd->iflist[ifidx]->net->dev_addr, addr, ETHER_ADDR_LEN);
if (ifidx == 0)
memcpy(dhd->pub.mac.octet, addr, ETHER_ADDR_LEN);
- DHD_ERROR(("%s: MACID is overwritten ifidx=%d, mac=%pM\n", __FUNCTION__, ifidx, addr));
}
return ret;
@@ -7957,7 +7956,7 @@ dhd_remove_if(dhd_pub_t *dhdpub, int ifidx, bool need_rtnl_lock)
unregister_netdev(ifp->net);
else
unregister_netdevice(ifp->net);
-#if defined(WL_EXT_IAPSTA) || defined(USE_IW) || defined(WL_ESCAN)
+#if defined(WL_EXT_IAPSTA) || defined(USE_IW) || defined(WL_ESCAN)
#ifdef WL_EXT_IAPSTA
wl_ext_iapsta_dettach_netdev(ifp->net, ifidx);
#endif /* WL_EXT_IAPSTA */
@@ -8614,7 +8613,7 @@ dhd_attach(osl_t *osh, struct dhd_bus *bus, uint bus_hdrlen
if (wl_ext_iapsta_attach(&dhd->pub) != 0) {
DHD_ERROR(("wl_ext_iapsta_attach failed\n"));
goto fail;
-}
+ }
#endif /* WL_EXT_IAPSTA */
#endif /* WL_EXT_IAPSTA || USE_IW || WL_ESCAN */
#if defined(WL_WIRELESS_EXT)
@@ -17102,7 +17101,7 @@ dhd_mem_dump(void *handle, void *event_info, u8 event)
#endif /* SHOW_LOGTRACE */
DHD_ERROR(("%s: call BUG_ON \n", __FUNCTION__));
- //BUG_ON(1);
+ BUG_ON(1);
}
DHD_ERROR(("%s: No BUG ON, memdump type %u \n", __FUNCTION__, dhd->pub.memdump_type));
@@ -17364,7 +17363,6 @@ void dhd_schedule_log_dump(dhd_pub_t *dhdp, void *type)
static void
dhd_print_buf_addr(dhd_pub_t *dhdp, char *name, void *buf, unsigned int size)
{
-#if 0
#ifdef DHD_FW_COREDUMP
if ((dhdp->memdump_enabled == DUMP_MEMONLY) ||
(dhdp->memdump_enabled == DUMP_MEMFILE_BUGON) ||
@@ -17381,7 +17379,6 @@ dhd_print_buf_addr(dhd_pub_t *dhdp, char *name, void *buf, unsigned int size)
name, (uint32)buf, (uint32)__virt_to_phys((ulong)buf), size));
#endif /* __ARM_ARCH_7A__ */
}
-#endif
}
static void
diff --git a/bcmdhd.100.10.315.x/dhd_linux_platdev.c b/bcmdhd.100.10.315.x/dhd_linux_platdev.c
index e68732b..b483911 100644
--- a/bcmdhd.100.10.315.x/dhd_linux_platdev.c
+++ b/bcmdhd.100.10.315.x/dhd_linux_platdev.c
@@ -317,7 +317,7 @@ wifi_platform_get_country_code(wifi_adapter_info_t *adapter, char *ccode)
return plat_data->get_country_code(ccode, flags);
#else
return plat_data->get_country_code(ccode);
-#endif /* CUSTOM_FORCE_NODFS_FLAG */
+#endif /* CUSTOM_COUNTRY_CODE */
}
#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)) */
diff --git a/bcmdhd.100.10.315.x/include/epivers.h b/bcmdhd.100.10.315.x/include/epivers.h
index abaa5a7..88c63db 100644
--- a/bcmdhd.100.10.315.x/include/epivers.h
+++ b/bcmdhd.100.10.315.x/include/epivers.h
@@ -46,6 +46,6 @@
#define EPI_VERSION_DEV 100.10.545
/* Driver Version String, ASCII, 32 chars max */
-#define EPI_VERSION_STR "100.10.545.4 (r826445-20190826-1) (amlogic-dbg-20190830-1)"
+#define EPI_VERSION_STR "100.10.545.4 (r826445-20190826-1) (amlogic-20190916-1)"
#endif /* _epivers_h_ */
diff --git a/bcmdhd.100.10.315.x/wl_cfg80211.c b/bcmdhd.100.10.315.x/wl_cfg80211.c
index 0d86ce6..886ba04 100644
--- a/bcmdhd.100.10.315.x/wl_cfg80211.c
+++ b/bcmdhd.100.10.315.x/wl_cfg80211.c
@@ -4022,7 +4022,6 @@ wl_cfg80211_interface_ops(struct bcm_cfg80211 *cfg,
WL_ERR(("Interface remove failed!! ret %d\n", ret));
return ret;
}
- printf("%s: mac=%pM\n", __FUNCTION__, addr);
/* Interface create */
bzero(&iface, sizeof(iface));
@@ -10723,17 +10722,21 @@ wl_cfg80211_bcn_validate_sec(
if (bss->rsn_ie) {
MFREE(cfg->osh, bss->rsn_ie, bss->rsn_ie[1]
+ WPA_RSN_IE_TAG_FIXED_LEN);
+ bss->rsn_ie = NULL;
}
if (bss->wpa_ie) {
MFREE(cfg->osh, bss->wpa_ie, bss->wpa_ie[1]
+ WPA_RSN_IE_TAG_FIXED_LEN);
+ bss->wpa_ie = NULL;
}
if (bss->wps_ie) {
MFREE(cfg->osh, bss->wps_ie, bss->wps_ie[1] + 2);
+ bss->wps_ie = NULL;
}
if (bss->fils_ind_ie) {
MFREE(cfg->osh, bss->fils_ind_ie, bss->fils_ind_ie[1]
+ FILS_INDICATION_IE_TAG_FIXED_LEN);
+ bss->fils_ind_ie = NULL;
}
if (ies->wpa_ie != NULL) {
/* WPAIE */
@@ -11490,6 +11493,7 @@ static s32 wl_cfg80211_hostapd_sec(
update_bss = true;
MFREE(cfg->osh, bss->rsn_ie,
bss->rsn_ie[1] + WPA_RSN_IE_TAG_FIXED_LEN);
+ bss->rsn_ie = NULL;
bss->wpa_ie = MALLOCZ(cfg->osh,
ies->wpa_ie->length + WPA_RSN_IE_TAG_FIXED_LEN);
if (bss->wpa_ie) {
diff --git a/bcmdhd.100.10.315.x/wl_cfgscan.c b/bcmdhd.100.10.315.x/wl_cfgscan.c
index d89c98f..dcaebe5 100644
--- a/bcmdhd.100.10.315.x/wl_cfgscan.c
+++ b/bcmdhd.100.10.315.x/wl_cfgscan.c
@@ -2735,7 +2735,7 @@ static void wl_scan_timeout(unsigned long data)
* Keeping it TRUE causes the sequential private cmd error
*/
dhdp->scan_timeout_occurred = FALSE;
-#endif
+#endif /* DHD_FW_COREDUMP */
msg.event_type = hton32(WLC_E_ESCAN_RESULT);
msg.status = hton32(WLC_E_STATUS_TIMEOUT);
msg.reason = 0xFFFFFFFF;
diff --git a/bcmdhd.100.10.315.x/wl_cfgvendor.c b/bcmdhd.100.10.315.x/wl_cfgvendor.c
index feee249..1cafa06 100644
--- a/bcmdhd.100.10.315.x/wl_cfgvendor.c
+++ b/bcmdhd.100.10.315.x/wl_cfgvendor.c
@@ -6685,12 +6685,6 @@ wl_cfgvendor_dbg_get_mem_dump(struct wiphy *wiphy,
}
}
if (buf_len > 0 && user_buf) {
- mem_buf = vmalloc(buf_len);
- if (!mem_buf) {
- WL_ERR(("failed to allocate mem_buf with size : %d\n", buf_len));
- ret = BCME_NOMEM;
- goto exit;
- }
ret = dhd_os_get_socram_dump(bcmcfg_to_prmry_ndev(cfg), &mem_buf, &buf_len);
if (ret) {
WL_ERR(("failed to get_socram_dump : %d\n", ret));
@@ -6742,7 +6736,6 @@ wl_cfgvendor_dbg_get_mem_dump(struct wiphy *wiphy,
}
free_mem:
- vfree(mem_buf);
/* Free skb memory */
if (skb) {
kfree_skb(skb);