When build wifi driver based on L6.12 kernel next tree, will observe the
following build errors. This is caused by the upstream patches
62c16f219a73 ("wifi: cfg80211: move DFS related members to links[] in
wireless_dev") and 81f67d60ebf2 ("wifi: cfg80211: handle DFS per link").
Need to change corresponding API here to avoid the build break.
/mwifiex/mlinux/moal_sta_cfg80211.c:435:34: error: initialization of ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_chan_def *, u32, int)’ {aka ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_chan_def *, unsigned int, int)’} from incompatible pointer type ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_chan_def *, u32)’ {aka ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_chan_def *, unsigned int)’} [-Werror=incompatible-pointer-types]
435 | .start_radar_detection = woal_cfg80211_start_radar_detection,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mwifiex/mlinux/moal_sta_cfg80211.c:435:34: note: (near initialization for ‘woal_cfg80211_ops.start_radar_detection’)
/mwifiex/mlinux/moal_cfg80211.c: In function ‘woal_cancel_cac’:
/mwifiex/mlinux/moal_cfg80211.c:1096:17: error: too few arguments to function ‘cfg80211_cac_event’
1096 | cfg80211_cac_event(priv->netdev, &priv->phandle->dfs_channel,
| ^~~~~~~~~~~~~~~~~~
In file included from /mwifiex/mlinux/moal_main.h:136,
from /mwifiex/mlinux/moal_cfg80211.h:26,
from /mwifiex/mlinux/moal_cfg80211.c:23:
./include/net/cfg80211.h:8750:6: note: declared here
8750 | void cfg80211_cac_event(struct net_device *netdev,
| ^~~~~~~~~~~~~~~~~~
/mwifiex/mlinux/moal_shim.c:3701:60: error: ‘struct wireless_dev’ has no member named ‘cac_start_time’
3701 | (priv->wdev->cac_start_time +
| ^~
/mwifiex/mlinux/moal_shim.c:3704:66: error: ‘struct wireless_dev’ has no member named ‘cac_time_ms’
3704 | ->cac_time_ms));
| ^~
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
When build on 32-bit platform, error log shows:
ERROR: modpost: "__bad_udelay" [mwifiex/moal.ko] undefined!
32-bit platform udelay has 2000us limition. Split it as workaround.
Signed-off-by: Luke Wang <ziniu.wang_1@nxp.com>
Corresponding firmware version:
SDIO-UART W8987 Firmware version 16.92.21.p142
PCIE-UART W8997 Firmware version 16.92.21.p137.3
SDIO-UART W8997 Firmware version 16.92.21.p137.3
SDIO-UART IW416 Firmware version 16.92.21.p142
SDIO_UART IW610 Firmware version 18.99.5.p35
SDIO_UART IW612 Firmware version 18.99.3.p21.4
SDIO-UART W8801 Firmware version 14.92.36.p194
SDIO-UART W9098 Firmware version 17.92.1.p149.50
PCIE-UART W9098 Firmware version 17.92.1.p149.50
Signed-off-by: Luke Wang <ziniu.wang_1@nxp.com>
Corresponding firmware version:
SDIO-UART W8987 Firmware version 16.92.21.p137.2
PCIE-UART W8997 Firmware version 16.92.21.p137.2
SDIO-UART W8997 Firmware version 16.92.21.p137.2
SDIO-UART IW416 Firmware version 16.92.21.p137.2
SDIO_UART IW612 Firmware version 18.99.3.p15.8
SDIO-UART W8801 Firmware version 14.92.36.p192
SDIO-UART W9098 Firmware version 17.92.1.p149.155
PCIE-UART W9098 Firmware version 17.92.1.p149.155
Signed-off-by: Luke Wang <ziniu.wang_1@nxp.com>
WCSWREL-621:
woal_sdio_suspend() may be called before complete cfg80211_disconnect(),
which causes WiFi cannot connect to AP after suspend resume.
Add delay to wait kernel complete cfg80211_disconnect() as a workaround.
Signed-off-by: Luke Wang <ziniu.wang_1@nxp.com>
Corresponding firmware version:
SDIO-UART W8987 Firmware version 16.92.21.p137
PCIE-UART W8997 Firmware version 16.92.21.p137.1
SDIO-UART W8997 Firmware version 16.92.21.p137.1
SDIO-UART IW416 Firmware version 16.92.21.p137
SDIO_UART IW612 Firmware version 18.99.3.p15
SDIO-UART W8801 Firmware version 14.92.36.p192
SDIO-UART W9098 Firmware version 17.92.1.p149.44
PCIE-UART W9098 Firmware version 17.92.1.p149.44
Signed-off-by: Luke Wang <ziniu.wang_1@nxp.com>
When build wifi driver based on L6.9 kernel next tree, will observe the
following three different type build warnings. Need to add the code
changes here to avoid the build warnings.
/mwifiex/mlan/mlan_11h.c:1676:1: warning: ‘static’ is not at beginning of declaration [-Wold-style-declaration]
1676 | t_u8 static wlan_11h_check_dfs_channel(mlan_adapter *pmadapter)
| ^~~~
CC [M] /mwifiex/mlan/mlan_uap_cmdevent.o
/mwifiex/mlan/mlan_11h.c:1712:1: warning: ‘static’ is not at beginning of declaration [-Wold-style-declaration]
1712 | mlan_status static wlan_11h_disable_dfs(mlan_private *priv, t_void *pioctl_buf)
| ^~~~~~~~~~~
/mwifiex/mlinux/moal_eth_ioctl.c: In function ‘parse_arguments’:
/mwifiex/mlinux/moal_eth_ioctl.c:159:41: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body]
159 | ;
| ^
/mwifiex/mlinux/moal_eth_ioctl.c: In function ‘woal_priv_hssetpara.isra’:
/mwifiex/mlinux/moal_eth_ioctl.c:5159:17: warning: ‘snprintf’ argument 6 may overlap destination object ‘respbuf’ [-Wrestrict]
5159 | snprintf(respbuf, CMD_BUF_LEN, "%s%s%s", CMD_NXP,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5160 | PRIV_CMD_HSCFG,
| ~~~~~~~~~~~~~~~
5161 | respbuf + (strlen(CMD_NXP) +
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5162 | strlen(PRIV_CMD_HSSETPARA)));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mwifiex/mlinux/moal_eth_ioctl.c:5131:58: note: destination object referenced by ‘restrict’-qualified argument 1 was declared here
5131 | static int woal_priv_hssetpara(moal_private *priv, t_u8 *respbuf,
| ~~~~~~^~~~~~~
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
When build wifi driver based on L6.9 kernel next tree, will observe the
following build warnings. Need to add static to avoid the build
warnings.
/mwifiex/mlinux/moal_shim.c:2768:8: warning: no previous prototype for ‘woal_process_event_tx_status’ [-Wmissing-prototypes]
2768 | t_void woal_process_event_tx_status(moal_private *priv,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mwifiex/mlinux/moal_uap.c:2560:5: warning: no previous prototype for ‘woal_uap_wacp_mode’ [-Wmissing-prototypes]
2560 | int woal_uap_wacp_mode(struct net_device *dev, struct ifreq *req)
| ^~~~~~~~~~~~~~~~~~
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>