thank you, cloning new 14.4 and patching with the new…
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c add “#include <linux/sched/debug.h>” (show_stack)
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:4427 added 0-param for reqid:
cfg80211_sched_scan_results(priv_to_wiphy(prGlueInfo),0);
added “cfg80211_roamed_bss” to include/net/cfg80211.h
still hang on
CC drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c: In function ‘kalRxIndicatePkts’:
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:1605:11: error: ‘struct net_device’ has no member named ‘last_rx’
prNetDev->last_rx = jiffies;
^
Found that: https://patchwork.ozlabs.org/patch/716831/
@garywang is this field really needed (or “abused” like described on link), i found only 2 lines where last_rx is set, but nowhere it is read…
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/tdls.c:221: prNetDev->last_rx = jiffies;
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:1605: prNetDev->last_rx = jiffies;
full diff against 4.14.4 HEAD: https://drive.google.com/file/d/1E_hScEzwjD7Lu7UcmVy7xOP1pMX2GyOC/view?usp=sharing
if 2 lines of last_rx are commented out (not yet in patch) these are the following errors:
CC drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o
In file included from ./include/linux/netlink.h:10:0,
from ./include/net/netlink.h:6,
from drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:49:
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c: In function ‘mtk_cfg80211_vendor_set_config’:
./include/uapi/linux/netlink.h:231:52: error: too few arguments to function ‘nla_parse_nested’
#define NLA_HDRLEN ((int) NLA_ALIGN(sizeof(struct nlattr)))
^
./include/uapi/linux/netlink.h:230:28: note: in definition of macro ‘NLA_ALIGN’
#define NLA_ALIGN(len) (((len) + NLA_ALIGNTO - 1) & ~(NLA_ALIGNTO - 1))
^
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:313:81: note: in expansion of macro ‘NLA_HDRLEN’
nla_parse_nested(attr, GSCAN_ATTRIBUTE_REPORT_EVENTS, (struct nlattr *)(data - NLA_HDRLEN), nla_parse_policy);
^
In file included from drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:49:0:
./include/net/netlink.h:760:19: note: declared here
static inline int nla_parse_nested(struct nlattr *tb[], int maxtype,
^
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:336:4: error: too few arguments to function ‘nla_parse_nested’
nla_parse_policy) < 0)
^
In file included from drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:49:0:
./include/net/netlink.h:760:19: note: declared here
static inline int nla_parse_nested(struct nlattr *tb[], int maxtype,
^
In file included from ./include/linux/netlink.h:10:0,
from ./include/net/netlink.h:6,
from drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:49:
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c: In function ‘mtk_cfg80211_vendor_set_scan_config’:
./include/uapi/linux/netlink.h:231:52: error: too few arguments to function ‘nla_parse_nested’
#define NLA_HDRLEN ((int) NLA_ALIGN(sizeof(struct nlattr)))
^
./include/uapi/linux/netlink.h:230:28: note: in definition of macro ‘NLA_ALIGN’
#define NLA_ALIGN(len) (((len) + NLA_ALIGNTO - 1) & ~(NLA_ALIGNTO - 1))
^
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:439:28: note: in expansion of macro ‘NLA_HDRLEN’
(struct nlattr *)(data - NLA_HDRLEN), nla_parse_policy) < 0)
^
In file included from drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:49:0:
./include/net/netlink.h:760:19: note: declared here
static inline int nla_parse_nested(struct nlattr *tb[], int maxtype,
^
In file included from ./include/linux/netlink.h:10:0,
from ./include/net/netlink.h:6,
from drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:49:
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c: In function ‘mtk_cfg80211_vendor_set_significant_change’:
./include/uapi/linux/netlink.h:231:52: error: too few arguments to function ‘nla_parse_nested’
#define NLA_HDRLEN ((int) NLA_ALIGN(sizeof(struct nlattr)))
^
./include/uapi/linux/netlink.h:230:28: note: in definition of macro ‘NLA_ALIGN’
#define NLA_ALIGN(len) (((len) + NLA_ALIGNTO - 1) & ~(NLA_ALIGNTO - 1))
^
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:508:28: note: in expansion of macro ‘NLA_HDRLEN’
(struct nlattr *)(data - NLA_HDRLEN), nla_parse_policy) < 0)
^
In file included from drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:49:0:
./include/net/netlink.h:760:19: note: declared here
static inline int nla_parse_nested(struct nlattr *tb[], int maxtype,
^
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:546:65: error: too few arguments to function ‘nla_parse_nested’
if (nla_parse_nested(attr, GSCAN_ATTRIBUTE_RSSI_HIGH, (struct nlattr *)paplist, nla_parse_policy) < 0)
^
In file included from drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:49:0:
./include/net/netlink.h:760:19: note: declared here
static inline int nla_parse_nested(struct nlattr *tb[], int maxtype,
^
In file included from ./include/linux/netlink.h:10:0,
from ./include/net/netlink.h:6,
from drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:49:
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c: In function ‘mtk_cfg80211_vendor_set_hotlist’:
./include/uapi/linux/netlink.h:231:52: error: too few arguments to function ‘nla_parse_nested’
#define NLA_HDRLEN ((int) NLA_ALIGN(sizeof(struct nlattr)))
^
./include/uapi/linux/netlink.h:230:28: note: in definition of macro ‘NLA_ALIGN’
#define NLA_ALIGN(len) (((len) + NLA_ALIGNTO - 1) & ~(NLA_ALIGNTO - 1))
^
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:630:78: note: in expansion of macro ‘NLA_HDRLEN’
if (nla_parse_nested(attr, GSCAN_ATTRIBUTE_NUM_AP, (struct nlattr *)(data - NLA_HDRLEN), nla_parse_policy) < 0)
^
In file included from drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:49:0:
./include/net/netlink.h:760:19: note: declared here
static inline int nla_parse_nested(struct nlattr *tb[], int maxtype,
^
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:660:65: error: too few arguments to function ‘nla_parse_nested’
if (nla_parse_nested(attr, GSCAN_ATTRIBUTE_RSSI_HIGH, (struct nlattr *)paplist, nla_parse_policy) < 0)
^
In file included from drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:49:0:
./include/net/netlink.h:760:19: note: declared here
static inline int nla_parse_nested(struct nlattr *tb[], int maxtype,
^
include/net/netlink.h:
static inline int nla_parse_nested(struct nlattr *tb[], int maxtype,
const struct nlattr *nla,
const struct nla_policy *policy,
struct netlink_ext_ack *extack)
seems that the last param (struct netlink_ext_ack *extack) is missing…can do it like here (using NULL): http://elixir.free-electrons.com/linux/v4.14.4/source/net/core/rtnetlink.c#L1561 vendor.c.diff (4,1 KB)
CC drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_proc.o
In file included from ./include/asm-generic/preempt.h:5:0,
from ./arch/arm/include/generated/asm/preempt.h:1,
from ./include/linux/preempt.h:81,
from ./include/linux/spinlock.h:51,
from ./include/linux/seqlock.h:36,
from ./include/linux/time.h:6,
from ./include/linux/ktime.h:24,
from ./include/linux/timer.h:6,
from drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/include/gl_os.h:536,
from drivers/misc/mediatek/connectivity/wlan/gen2/include/precomp.h:171,
from drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_proc.c:65:
In function ‘check_copy_size’,
inlined from ‘copy_from_user’ at ./include/linux/uaccess.h:146:6,
inlined from ‘procDbgLevelWrite’ at drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_proc.c:509:20:
./include/linux/thread_info.h:141:17: error: call to ‘__bad_copy_to’ declared with attribute error: copy destination size is too small
__bad_copy_to();
^
In function ‘check_copy_size’,
inlined from ‘copy_from_user’ at ./include/linux/uaccess.h:146:6,
inlined from ‘procTxDoneCfgWrite’ at drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_proc.c:590:20:
./include/linux/thread_info.h:141:17: error: call to ‘__bad_copy_to’ declared with attribute error: copy destination size is too small
__bad_copy_to();
^
location seems to be here (drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_proc.c:201):
static ssize_t procDbgLevelWrite(struct file *file, const char *buffer, size_t count, loff_t *data)
{
UINT_32 u4NewDbgModule, u4NewDbgLevel;
UINT_8 i = 0;
UINT_32 u4CopySize = sizeof(aucProcBuf);
UINT_8 *temp = &aucProcBuf[0];
kalMemSet(aucProcBuf, 0, u4CopySize);
if (u4CopySize >= count + 1)
u4CopySize = count;
if (copy_from_user(aucProcBuf, buffer, u4CopySize)) {
kalPrint("error of copy from user\n");
return -EFAULT;
}
aucProcBuf[u4CopySize] = '\0';
...
static ssize_t procTxDoneCfgWrite(struct file *file, const char *buffer, size_t count, loff_t *data)
{
#define MODULE_NAME_LENGTH 6
UINT_8 i = 0;
UINT_32 u4CopySize = sizeof(aucProcBuf);
UINT_8 *temp = &aucProcBuf[0];
UINT_16 u2SetTxDoneCfg = 0;
UINT_16 u2ClsTxDoneCfg = 0;
UINT_8 aucModule[MODULE_NAME_LENGTH];
UINT_32 u4Enabled;
UINT_8 aucModuleArray[][MODULE_NAME_LENGTH] = {"ARP", "DNS", "TCP", "UDP", "EAPOL", "DHCP", "ICMP"};
kalMemSet(aucProcBuf, 0, u4CopySize);
if (u4CopySize >= count + 1)
u4CopySize = count;
if (copy_from_user(aucProcBuf, buffer, u4CopySize)) {
kalPrint("error of copy from user\n");
return -EFAULT;
}
aucProcBuf[u4CopySize] = '\0';
...
these 2 function use “aucProcBuf” as target…which is defined in same file as
static UINT_8 aucProcBuf[1536];
seems big enought but tested also array-size 2000, same error, i assume that it is the size of array-elements (needed more than 8bit), but find nothing where the buffer comes
seems that 2 functions are used as callbacks
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_proc.c:542: .write = procDbgLevelWrite,
static const struct file_operations dbglevel_ops = {
.owner = THIS_MODULE,
.read = procDbgLevelRead,
.write = procDbgLevelWrite,
};
...
prEntry = proc_create(PROC_DBG_LEVEL_NAME, 0664, gprProcRoot, &dbglevel_ops);
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_proc.c:627: .write = procTxDoneCfgWrite,
static const struct file_operations proc_txdone_ops = {
.owner = THIS_MODULE,
.read = procTxDoneCfgRead,
.write = procTxDoneCfgWrite,
};
...
prEntry = proc_create(PROC_NEED_TX_DONE, 0664, gprProcRoot, &proc_txdone_ops);
i’m not sure, but assume, that the problem is u4CopySize instead of the param “size_t count”
What does kalmemset exactly do?
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/include/gl_kal.h:
/* Set memory block with specific pattern */
#define kalMemSet(pvAddr, ucPattern, u4Size) memset(pvAddr, ucPattern, u4Size)
so it does not resize the mem, only change content…
The order of commands is strange (first memset,then adjust size,then copy),maybe kalmemset makes the targetbuffer aucProcBuf too small if count is larger than sizeof(aucProcBuf)…tried to move kalmemset after change of u4CopySize, but no success
Maybe i can show actual and needed values somehow…but i don’t know
currently fixed it by changing initialization of u4CopySize in both functions:
UINT_32 u4CopySize = kalStrLen(aucProcBuf);//sizeof(aucProcBuf);
is this the right way?? @garywang @Ryder.Lee @BitMaster @moore
CC drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p.o
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p.c:601:2: error: initialization from incompatible pointer type [-Werror]
.change_virtual_intf = mtk_p2p_cfg80211_change_iface, /* 1st */
^
include/net/cfg80211.h
struct cfg80211_ops {
...
int (*change_virtual_intf)(struct wiphy *wiphy,
struct net_device *dev,
enum nl80211_iftype type,
struct vif_params *params);
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/include/gl_p2p_ioctl.h
int mtk_p2p_cfg80211_change_iface(struct wiphy *wiphy,
struct net_device *ndev,
enum nl80211_iftype type, u32 *flags, struct vif_params *params); <<<< same as above, remove flags-param
and do the same in drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_cfg80211.c
CC drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.o
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c: In function ‘wfdAdjustThread’:
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c:3750:11: error: variable ‘param’ has initializer but incomplete type
struct sched_param param = {.sched_priority = WFD_TX_THREAD_PRIORITY };
^
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c:3750:11: error: unknown field ‘sched_priority’ specified in initializer
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c:3750:11: error: excess elements in struct initializer [-Werror]
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c:3750:11: error: (near initialization for ‘param’) [-Werror]
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c:3750:23: error: storage size of ‘param’ isn’t known
struct sched_param param = {.sched_priority = WFD_TX_THREAD_PRIORITY };
^
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c:3750:23: error: unused variable ‘param’ [-Werror=unused-variable]
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c:3757:11: error: variable ‘param’ has initializer but incomplete type
struct sched_param param = {.sched_priority = 0 };
^
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c:3757:11: error: unknown field ‘sched_priority’ specified in initializer
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c:3757:11: error: excess elements in struct initializer [-Werror]
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c:3757:11: error: (near initialization for ‘param’) [-Werror]
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c:3757:23: error: storage size of ‘param’ isn’t known
struct sched_param param = {.sched_priority = 0 };
^
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c:3757:23: error: unused variable ‘param’ [-Werror=unused-variable]
have done a new patch: https://drive.google.com/file/d/1yZSnLjRF6XP-asVR-YsIJdqRg-2C8_C1/view?usp=sharing
add
#include <uapi/linux/sched/types.h>
to drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/p2p_func.c
CC drivers/watchdog/mtk_wdt.o
drivers/watchdog/mtk_wdt.c: In function ‘wdt_report_info’:
drivers/watchdog/mtk_wdt.c:328:10: error: ‘init_task’ undeclared (first use in this function)
task = &init_task;
^
drivers/watchdog/mtk_wdt.c:328:10: note: each undeclared identifier is reported only once for each function it appears in
drivers/watchdog/mtk_wdt.c:331:2: error: implicit declaration of function ‘for_each_process’ [-Werror=implicit-function-declaration]
for_each_process(task) {
^
drivers/watchdog/mtk_wdt.c:331:25: error: expected ‘;’ before ‘{’ token
for_each_process(task) {
^
drivers/watchdog/mtk_wdt.c:340:2: error: implicit declaration of function ‘show_stack’ [-Werror=implicit-function-declaration]
show_stack(NULL, NULL);
^
drivers/watchdog/mtk_wdt.c add “#include <linux/sched/debug.h>” (show_stack) and “#include <linux/sched/signal.h>” (for_each_process)
now compile is complete, but linking fails:
MODPOST vmlinux.o
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_tx':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:155: undefined reference to `mtk_wcn_btif_write'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:170: undefined reference to `mtk_wcn_btif_write'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_open':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:81: undefined reference to `mtk_wcn_btif_open'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_close':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:101: undefined reference to `mtk_wcn_btif_close'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_rx_cb_register':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:121: undefined reference to `mtk_wcn_btif_rx_cb_register'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_wakeup':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:204: undefined reference to `mtk_wcn_btif_wakeup_consys'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_dpidle_ctrl':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:224: undefined reference to `mtk_wcn_btif_dpidle_ctrl'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_lpbk_ctrl':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:239: undefined reference to `mtk_wcn_btif_loopback_ctrl'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_logger_ctrl':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:259: undefined reference to `mtk_wcn_btif_dbg_ctrl'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_parser_wmt_evt':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:277: undefined reference to `mtk_wcn_btif_parser_wmt_evt'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_dbg.o: In function `is_btif_rxd_be_blocked':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_dbg.c:489: undefined reference to `mtk_btif_rxd_be_blocked_flag_get'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_dbg.o: In function `_genl_register_family_with_ops_grps':
/media/data_ext/test_4.14/linux-stable2/./include/net/genetlink.h:183: undefined reference to `__genl_register_family'
drivers/misc/mediatek/connectivity/wlan/gen2/nic/nic_rx.o: In function `cfg80211_vendor_cmd_alloc_reply_skb':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5077: undefined reference to `__cfg80211_alloc_reply_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/nic/nic_rx.o: In function `nicRxProcessGSCNEvent':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/nic/nic_rx.c:1627: undefined reference to `cfg80211_vendor_cmd_reply'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.o: In function `wlanStop':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.c:2149: undefined reference to `cfg80211_scan_done'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.o: In function `wiphy_new':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:3944: undefined reference to `wiphy_new_nm'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.o: In function `createWirelessDevice':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.c:1640: undefined reference to `wiphy_register'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.c:1696: undefined reference to `wiphy_free'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.o: In function `destroyWirelessDevice':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.c:1707: undefined reference to `wiphy_unregister'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.c:1708: undefined reference to `wiphy_free'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.o: In function `wlanSchedScanStoppedWorkQueue':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.c:1839: undefined reference to `cfg80211_sched_scan_stopped'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.o: In function `wlanNetRegister':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.c:2249: undefined reference to `wiphy_unregister'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `kalIndicateStatusAndComplete':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:1818: undefined reference to `cfg80211_scan_done'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:1714: undefined reference to `ieee80211_channel_to_frequency'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:1713: undefined reference to `ieee80211_get_channel'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:1720: undefined reference to `cfg80211_get_bss'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:1744: undefined reference to `cfg80211_get_bss'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:1748: undefined reference to `cfg80211_unlink_bss'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `cfg80211_connect_bss':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5373: undefined reference to `cfg80211_connect_done'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `kalIndicateStatusAndComplete':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:1883: undefined reference to `cfg80211_pmksa_candidate_notify'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `cfg80211_connect_bss':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5373: undefined reference to `cfg80211_connect_done'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `kalIndicateStatusAndComplete':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:1795: undefined reference to `cfg80211_disconnected'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:1852: undefined reference to `cfg80211_michael_mic_failure'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:1755: undefined reference to `cfg80211_roamed_bss'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `cfg80211_inform_bss':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:4762: undefined reference to `cfg80211_inform_bss_data'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `kalReadyOnChannel':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:3988: undefined reference to `ieee80211_channel_to_frequency'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:3987: undefined reference to `ieee80211_get_channel'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:4011: undefined reference to `cfg80211_ready_on_channel'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `kalRemainOnChannelExpired':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:4044: undefined reference to `ieee80211_channel_to_frequency'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:4043: undefined reference to `ieee80211_get_channel'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:4067: undefined reference to `cfg80211_remain_on_channel_expired'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `kalIndicateMgmtTxStatus':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:4097: undefined reference to `cfg80211_mgmt_tx_status'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `kalIndicateRxMgmtFrame':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:4141: undefined reference to `cfg80211_rx_mgmt'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `cfg80211_testmode_alloc_event_skb':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5221: undefined reference to `__cfg80211_alloc_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `cfg80211_testmode_event':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5238: undefined reference to `__cfg80211_send_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `kalIndicateBssInfo':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:3929: undefined reference to `ieee80211_channel_to_frequency'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:3928: undefined reference to `ieee80211_get_channel'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `cfg80211_inform_bss_frame':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:4684: undefined reference to `cfg80211_inform_bss_frame_data'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `kalIndicateBssInfo':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:3952: undefined reference to `cfg80211_put_bss'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `kalSchedScanResults':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:4427: undefined reference to `cfg80211_sched_scan_results'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_cfg80211.o: In function `cfg80211_testmode_alloc_reply_skb':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5176: undefined reference to `__cfg80211_alloc_reply_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_cfg80211.o: In function `cfg80211_testmode_reply':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5194: undefined reference to `cfg80211_vendor_cmd_reply'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_cfg80211.o: In function `cfg80211_testmode_alloc_reply_skb':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5176: undefined reference to `__cfg80211_alloc_reply_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_cfg80211.o: In function `cfg80211_testmode_reply':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5194: undefined reference to `cfg80211_vendor_cmd_reply'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_cfg80211.o: In function `cfg80211_testmode_alloc_reply_skb':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5176: undefined reference to `__cfg80211_alloc_reply_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_cfg80211.o: In function `cfg80211_testmode_reply':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5194: undefined reference to `cfg80211_vendor_cmd_reply'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_cfg80211.o: In function `cfg80211_testmode_alloc_reply_skb':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5176: undefined reference to `__cfg80211_alloc_reply_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_cfg80211.o: In function `cfg80211_testmode_reply':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5194: undefined reference to `cfg80211_vendor_cmd_reply'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_cmd_alloc_reply_skb':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5077: undefined reference to `__cfg80211_alloc_reply_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `mtk_cfg80211_vendor_get_channel_list':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:185: undefined reference to `cfg80211_vendor_cmd_reply'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_cmd_alloc_reply_skb':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5077: undefined reference to `__cfg80211_alloc_reply_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `mtk_cfg80211_vendor_get_gscan_capabilities':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:276: undefined reference to `cfg80211_vendor_cmd_reply'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_cmd_alloc_reply_skb':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5077: undefined reference to `__cfg80211_alloc_reply_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `mtk_cfg80211_vendor_get_rtt_capabilities':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:942: undefined reference to `cfg80211_vendor_cmd_reply'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_cmd_alloc_reply_skb':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5077: undefined reference to `__cfg80211_alloc_reply_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `mtk_cfg80211_vendor_llstats_get_info':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.c:993: undefined reference to `cfg80211_vendor_cmd_reply'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_event_alloc':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5120: undefined reference to `__cfg80211_alloc_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_event':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5135: undefined reference to `__cfg80211_send_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_event_alloc':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5120: undefined reference to `__cfg80211_alloc_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_event':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5135: undefined reference to `__cfg80211_send_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_event_alloc':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5120: undefined reference to `__cfg80211_alloc_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_event':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5135: undefined reference to `__cfg80211_send_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_event_alloc':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5120: undefined reference to `__cfg80211_alloc_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_event':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5135: undefined reference to `__cfg80211_send_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_event_alloc':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5120: undefined reference to `__cfg80211_alloc_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_event':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5135: undefined reference to `__cfg80211_send_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_event_alloc':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5120: undefined reference to `__cfg80211_alloc_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_vendor.o: In function `cfg80211_vendor_event':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5135: undefined reference to `__cfg80211_send_event_skb'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p.o: In function `p2pStop':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p.c:1597: undefined reference to `cfg80211_scan_done'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p.o: In function `wiphy_new':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:3944: undefined reference to `wiphy_new_nm'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p.o: In function `glP2pCreateWirelessDevice':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p.c:1205: undefined reference to `wiphy_register'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p.c:1259: undefined reference to `wiphy_free'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p.o: In function `glP2pDestroyWirelessDevice':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p.c:1273: undefined reference to `wiphy_unregister'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p.c:1274: undefined reference to `wiphy_free'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.o: In function `kalP2PIndicateScanDone':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.c:914: undefined reference to `cfg80211_scan_done'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.o: In function `kalP2PIndicateMgmtTxStatus':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.c:985: undefined reference to `cfg80211_mgmt_tx_status'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.o: In function `kalP2PIndicateRxMgmtFrame':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.c:1035: undefined reference to `cfg80211_rx_mgmt'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.o: In function `cfg80211_connect_bss':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5373: undefined reference to `cfg80211_connect_done'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.o: In function `kalP2PGCIndicateConnectionStatus':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.c:1068: undefined reference to `cfg80211_disconnected'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.o: In function `cfg80211_del_sta':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:5580: undefined reference to `cfg80211_del_sta_sinfo'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.o: In function `kalP2PGOStationUpdate':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.c:1099: undefined reference to `cfg80211_new_sta'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.o: In function `kalP2PIndicateChannelReady':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.c:826: undefined reference to `cfg80211_ready_on_channel'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.o: In function `kalP2PIndicateChannelExpired':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.c:866: undefined reference to `cfg80211_remain_on_channel_expired'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.o: In function `cfg80211_inform_bss_frame':
/media/data_ext/test_4.14/linux-stable2/./include/net/cfg80211.h:4684: undefined reference to `cfg80211_inform_bss_frame_data'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.o: In function `kalP2PIndicateBssInfo':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_kal.c:961: undefined reference to `cfg80211_put_bss'
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/tdls.o: In function `TdlsEventTearDown':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/tdls.c:3591: undefined reference to `cfg80211_tdls_oper_request'
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/tdls.o: In function `TdlsexKeyHandle':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/tdls.c:4160: undefined reference to `cfg80211_tdls_oper_request'
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/tdls.o: In function `TdlsexPeerAdd':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/tdls.c:4552: undefined reference to `cfg80211_tdls_oper_request'
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/tdls.o: In function `TdlsexRxFrameDrop':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/tdls.c:4903: undefined reference to `cfg80211_tdls_oper_request'
drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/tdls.o: In function `TdlsexTxQuotaCheck':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/mgmt/tdls.c:5174: undefined reference to `cfg80211_tdls_oper_request'
updated patch https://drive.google.com/file/d/1yZSnLjRF6XP-asVR-YsIJdqRg-2C8_C1/view?usp=sharing
most of them came, because i’ve set cfg8011 and mac80211 as module…make it build-in reduces errors to this:
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:155: undefined reference to `mtk_wcn_btif_write'
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:170: undefined reference to `mtk_wcn_btif_write'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_open':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:81: undefined reference to `mtk_wcn_btif_open'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_close':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:101: undefined reference to `mtk_wcn_btif_close'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_rx_cb_register':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:121: undefined reference to `mtk_wcn_btif_rx_cb_register'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_wakeup':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:204: undefined reference to `mtk_wcn_btif_wakeup_consys'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_dpidle_ctrl':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:224: undefined reference to `mtk_wcn_btif_dpidle_ctrl'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_lpbk_ctrl':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:239: undefined reference to `mtk_wcn_btif_loopback_ctrl'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_logger_ctrl':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:259: undefined reference to `mtk_wcn_btif_dbg_ctrl'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o: In function `mtk_wcn_consys_stp_btif_parser_wmt_evt':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:277: undefined reference to `mtk_wcn_btif_parser_wmt_evt'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_dbg.o: In function `is_btif_rxd_be_blocked':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_dbg.c:489: undefined reference to `mtk_btif_rxd_be_blocked_flag_get'
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_dbg.o: In function `_genl_register_family_with_ops_grps':
/media/data_ext/test_4.14/linux-stable2/./include/net/genetlink.h:183: undefined reference to `__genl_register_family'
drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.o: In function `kalIndicateStatusAndComplete':
/media/data_ext/test_4.14/linux-stable2/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c:1755: undefined reference to `cfg80211_roamed_bss'
i assume that there is an include missing in any makefile, but how to solve this??
e.g.
frank@Frank-Laptop:/media/data_ext/test_4.14/linux-stable2$ grep -Rn 'mtk_wcn_btif_dbg_ctrl'
drivers/misc/mediatek/btif/common/inc/mtk_btif_exp.h:244:int mtk_wcn_btif_dbg_ctrl(unsigned long u_id, ENUM_BTIF_DBG_ID flag);
drivers/misc/mediatek/btif/common/mtk_btif_exp.c:429:int mtk_wcn_btif_dbg_ctrl(unsigned long u_id, ENUM_BTIF_DBG_ID flag)
drivers/misc/mediatek/btif/common/mtk_btif_exp.c:491:EXPORT_SYMBOL(mtk_wcn_btif_dbg_ctrl);
Binary file drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.o matches
drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/stp_btif.c:259: iRet = mtk_wcn_btif_dbg_ctrl(stpBtifId, flag);
frank@Frank-Laptop:/media/data_ext/test_4.14/linux-stable2$ nano drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/Makefile
function mtk_wcn_btif_dbg_ctrl is defined in drivers/misc/mediatek/btif/common/inc/mtk_btif_exp.h so i have to include it to drivers/misc/mediatek/connectivity/common/conn_soc/linux/pri/Makefile, right? but there is already a line including that dir
ccflags-y += \
-I$(src)/../../linux/include \
-I$(src)/../../linux/pri/include \
-I$(src)/../../core/include \
-I$(src)/../../include \
-I$(src)/../include \
-I$(src)/../../../common_detect \
-I$(srctree)/drivers/misc/mediatek/btif/common/inc \ <<<<<<<<<<<
-I$(srctree)/drivers/misc/mediatek/mach/$(MTK_PLATFORM)/include/mach
as you see the EXPORT_SYMBOL is done in c-file…tried to move to header, but without success any idea?
as for cfg80211_roamed_bss, function is defined in cfg80211.h, but seems not be implemented anywhere…only called in drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_kal.c, same in kernel 4.4.70…maybe cfg80211_roamed must be used like here: https://www.spinics.net/lists/linux-wireless/msg161781.html
struct cfg80211_roam_info {
struct ieee80211_channel *channel;
struct cfg80211_bss *bss;
const u8 *bssid;
const u8 *req_ie;
size_t req_ie_len;
const u8 *resp_ie;
size_t resp_ie_len;
bool authorized;
};
void cfg80211_roamed(struct net_device *dev, struct cfg80211_roam_info *info,
gfp_t gfp);
instead of
void cfg80211_roamed_bss(struct net_device *dev, struct cfg80211_bss *bss,
const u8 *req_ie, size_t req_ie_len,
const u8 *resp_ie, size_t resp_ie_len, gfp_t gfp);
so i fixed the cfg80211_roamed_bss-error:
if (eStatus == WLAN_STATUS_ROAM_OUT_FIND_BEST) {
/*cfg80211_roamed_bss(prGlueInfo->prDevHandler,
bss,
prGlueInfo->aucReqIe,
prGlueInfo->u4ReqIeLength,
prGlueInfo->aucRspIe, prGlueInfo->u4RspIeLength, GFP_KERNEL);
*/
struct cfg80211_roam_info roam_info = {
.bss = bss,
.req_ie = prGlueInfo->aucReqIe,
.req_ie_len = prGlueInfo->u4ReqIeLength,
.resp_ie = prGlueInfo->aucRspIe,
.resp_ie_len = prGlueInfo->u4RspIeLength
};
cfg80211_roamed(prGlueInfo->prDevHandler,
&roam_info,
GFP_KERNEL);
} else {
but the mtk_* functions are defined in drivers/misc/mediatek/btif/common/mtk_btif_exp.c and in makefile there is also a mtk_btif_exp.o
any idea with the others?