Commit Graph

48 Commits

Author SHA1 Message Date
Sherry Sun 31800f43a6 mxm_wifiex: update to mxm5x17322.p3 release
Driver Bug Fixes:
-----------------
1. Added GPL/NXP dual license header
2. WCSWREL-242: Fixed system rebooted issue after connecting wifi and running bt A2DP stress
3. WCSWREL-310: merge the L5.17 build errors and warnings related to netif_rx
4. WCSWREL-317: merge the build error and warning fix related to eth_hw_addr_set
5. WSW-19664: Fixed VtsHalWifiV1_0TargetTest failure

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-05-30 17:32:12 +08:00
Sherry Sun f6055d3fc2 mxm_wifiex: fix the net_device::dev_addr build warning
When build the mxm17322 wifi release based on the latest kernel(L5.17),
will observe the following build warning.

Need to use eth_hw_addr_set function instead of writing the address
directly to net_device::dev_addr. Make sure we don't cast off const
qualifier from dev->dev_addr.

/home/sherry/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_uap_cfg80211.c: In function ‘woal_cfg80211_add_mon_if’:
/home/sherry/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_uap_cfg80211.c:1485:44: warning: passing argument 2 of ‘moal_memcpy_ext’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1485 |         moal_memcpy_ext(priv->phandle, ndev->dev_addr, ndev->perm_addr,
      |                                        ~~~~^~~~~~~~~~
In file included from /home/sherry/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_main.h:119,
                 from /home/sherry/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_cfg80211.h:26,
                 from /home/sherry/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_uap_cfg80211.c:23:
/home/sherry/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_shim.h:82:48: note: expected ‘t_void *’ {aka ‘void *’} but argument is of type ‘const unsigned char *’
   82 | t_void *moal_memcpy_ext(t_void *pmoal, t_void *pdest, const t_void *psrc,
      |                                        ~~~~~~~~^~~~~

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-04-19 18:23:17 +08:00
Sherry Sun caa89d99ad mxm_wifiex: Makefile is needed for mapp/mlanconfig
mxm17322 deleted the mapp/mlanconfig/Makefile, it may cause the build
error when run the "$(MAKE) -C mapp/mlanconfig $@ INSTALLDIR=$(BINDIR)"
command in topmost Makefile.
So add the mapp/mlanconfig/Makefile back here.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-04-19 16:40:00 +08:00
Sherry Sun 2a2b474597 mxm_wifiex: update to mxm5x17322 release
New Additions/Removals/Improvements:
------------------------------------
1. WSW-18868: Improve FW download time after suspend/resume cycle
2. WSFD-484: WIFI 6E support
3. WSW-17954: Enable turbo mode command for mlanutl
4. WSW-19363: Add debug prints to WLAN driver regarding WPA_supplicant
5. WSW-19307: Support robust btc related commands [0x00e0] in mlanutl
6. WSW-16429: Disabling of WEP/TKIP on all V16 devices
7. Use CFG80211_VERSION_CODE to control cfg80211 related code
8. Enabled these new commands for mlanutl: min_ba_threshold, stop_su and ed_mac_ctrl_v3
9. WSFD-386: FW and VHAL Implementation for WOWLAN by adding code for MDNS wakeup

Driver Bug Fixes:
-----------------
1. WSW-18708: Setting domain info fails for W8801 Murata M.2 Module (2DS)
2. WSW-18541: Debug logs not seen if drvdbg is part of wifi_mod_para.conf
3. WSW-19136: Command 0x107 timeout is seen radomly during connect-disconnect test
4. WSW-18865: VHT80 TCP-tx throughput only run about 170Mbps, both STA and MMH mode
5. WSW-17923: 4K Video Stoppage Issue, Wi-Fi throughput drops to lower than 20Mbps without recovery
6. WSW-17925: NO_IR flags are not cleared for ch 12,13 and 14 if country is changed to JP in runtime
7. WCSWREL-251: There is "mlan0: Failed to initialize driver interface" during stress load/unload testing
8. WSW-18431: UAP beacon (in 1x1 mode) not reporting correct values for tx_highest_rate and rx_highest_rate in VhtCap IE
9. WSW-18116: TCP Keep alive packets are not seen after starting cloud keep alive
10. WSW-18690: STAUT is advertising support of MCS-0 to 9 only in HE-IE in Probe Request
11. WCSWREL-266: Fix L5.16 build errors and warnings

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-04-19 14:46:37 +08:00
Sherry Sun 6620b8524b mxm_wifiex: avoid the array-bounds build warnings on L5.17
When build the wifi driver based on L5.17 kernel, we may meet the
following build warnings. Add Wno-array-bounds cc-flags to avoid it.

/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c: In function ‘woal_host_mlme_disconnect’:
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:9127:13: warning: array subscript ‘struct ieee80211_mgmt[0]’ is partly outside array bounds of ‘t_u8[26]’ {aka ‘unsigned char[26]’} [-Warray-bounds]
 9127 |         mgmt->frame_control = (__force __le16)IEEE80211_STYPE_DEAUTH;
      |             ^~
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:9123:14: note: while referencing ‘frame_buf’
 9123 |         t_u8 frame_buf[26];
      |              ^~~~~~~~~
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:9128:13: warning: array subscript ‘struct ieee80211_mgmt[0]’ is partly outside array bounds of ‘t_u8[26]’ {aka ‘unsigned char[26]’} [-Warray-bounds]
 9128 |         mgmt->duration = 0;
      |             ^~
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:9123:14: note: while referencing ‘frame_buf’
 9123 |         t_u8 frame_buf[26];
      |              ^~~~~~~~~
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:9129:13: warning: array subscript ‘struct ieee80211_mgmt[0]’ is partly outside array bounds of ‘t_u8[26]’ {aka ‘unsigned char[26]’} [-Warray-bounds]
 9129 |         mgmt->seq_ctrl = 0;
      |             ^~
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:9123:14: note: while referencing ‘frame_buf’
 9123 |         t_u8 frame_buf[26];
      |              ^~~~~~~~~
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:9130:13: warning: array subscript ‘struct ieee80211_mgmt[0]’ is partly outside array bounds of ‘t_u8[26]’ {aka ‘unsigned char[26]’} [-Warray-bounds]
 9130 |         mgmt->u.deauth.reason_code = (__force __le16)reason_code;
      |             ^~
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:9123:14: note: while referencing ‘frame_buf’
 9123 |         t_u8 frame_buf[26];
      |              ^~~~~~~~~

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2022-04-11 12:34:28 +08:00
Sherry Sun ce5f564cb7 mxm_wifiex: Use netif_rx() in L5.17 kernel
Since kernel commit baebdf48c3600 ("net: dev: Makes sure netif_rx() can
be invoked in any context.")

the function netif_rx() can be used in preemptible/thread context as
well as in interrupt context.

Use netif_rx().

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2022-04-11 12:34:22 +08:00
Sherry Sun 35da828282 mxm_wifiex: fix the net_device::dev_addr build warnings on L5.16
Use eth_hw_addr_set function instead of writing the address directly to
net_device::dev_addr. Make sure we don't cast off const qualifier from
dev->dev_addr. Otherwise will have the build warnings when build the
driver based on L5.16 kernel.

Fixes: adeef3e32146 ("net: constify netdev->dev_addr")
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2022-02-15 15:45:23 +08:00
Sherry Sun 28c2f97672 mxm_wifiex: fix the PDE_DATA build errors on L5.16 kernel
L5.16 kernel patch commit a1c11021f19cb0a80f removed the PDE_DATA() and
replace it with pde_data(), so need to change accordingly, otherwise
will have the driver build errors.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2022-02-15 15:45:15 +08:00
Sherry Sun 29b5d07aee mxm_wifiex: fix the 17299.p1 wifi driver build warning
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2022-01-25 14:43:40 +08:00
Sherry Sun 200fc8808c mxm_wifiex: update to mxm5x17299.p1 release
changes:
    1. WSW-18043: Include txpwrlimit_cfg_iw416 files on MM driver
    2. WSW-18325: Rename ed_mac_ctrl conf files from V3 to V2
    3. WSW-16931: Observing timeout on STAUT with UL OFDMA BSR scenario
    4. WCSWREL-227: Fixed the issue of CtsWifiTestCases case android.net.wifi.cts.WifiManagerTest#testTrafficStateCallback
    5. WSW-17727: Fixed the issue of STA Connection failed with dmcs enable and host_mlme=1
    6. WSW-17450: Fixed the issue of android.net.wifi.cts.WifiManagerTest failure
    7. WSW-17491: Fixed the issue of android.cts.statsdatom.wifi.WifiStatsTests failure
    8. WSW-18006: Set CAC period of 600 sec for weather channel for ETSI region
    9. WSW-17906: Fixed the issue of APUT not advertise the support of MCS32
    10. WSW-17575: Fixed the issue of Host cannot wake-up by ping during Hostsleep
    11. WSW-17904: Fixed the issue of STAUT advertising VHT Tx/Rx MCS as 1SS when associating with 1SS AP
    12. WSW-17427: Fixed the issue of uAPUTL failing to start BSS and returns "Core Dumped" error message
    13. WSW-15856: Hotspot is turning off automatically after few minutes ~10mins with one client connected
    14. WCSWREL-211: System reboot when switch wifi hotspot security mode from WPA2 to none

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2022-01-25 14:43:16 +08:00
Sherry Sun 8248dbc2cb mxm_wifiex: update the ed_mac and tx power conf file
Added missing ed_mac conf file for 8978 and also removed ed_mac conf
file of 9177 and 909x which is not a supported SoC on IMX under
MassMarket.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2021-12-13 10:41:24 +08:00
Sherry Sun 255269e2d3 mxm_wifiex: update to mxm5x17293 release
changes:
    1. WCSWREL-199: Fixed the build error on kernel higher than L5.12
    2. WSW-16639: Improve the throughput by avoiding skb copy in amsdu deaggreation
    3. WSW-15903: By default enabled pmqos=1 module param on IMX8 only and disable this for other platforms like X86
    4. WSFD-411: Generate fw_dump files in HAL layer instead of driver
    5. WSW-17154: Fixed the issue of driver crash seen with AGO+AGO restart stress test
    6. WSFD-416: Added WPA3 R3 support using embedded supplicant
    7. WSW-16171: Fixed the issue of DUT failed to roam to other AP2, when low RSSI hits on connected AP1
    8. WSW-17323: Fixed the issue of not activating Channel 13 using DE or JP country codes
    9. WSW-16630: APUT is not switching back from 20/40MHz to 20MHz channel bandwidth in the presence of 20MHz testbed AP
    10. WCECCB-37: Added support for UNII-4 / upper 5 GHz channels
    11. WSW-17368: Fixed the issue of System shutdown after switching AC power to battery
    12. WSW-17447: Added RTT support enablement for Android
    13. WSW-17453: Fixed the issue of 0x107 Command timeout for scan(iwlist)
    14. WSW-17019: Fixed the issue of Wifi hang with timeout cmd id 0x20 due to interference from another device doing DPD
    15. WSW-14: Added Support for IMX Linux Kernel 5.15.0
    16. WSW-17450: Disable host based Link layer stats so that fw based stats will be used

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2021-12-13 10:41:16 +08:00
Sherry Sun 3c2a3c2cd2 mxm_wifiex: update to mxm5x17283.p2 release
changes:
1. Enabled pmqos by default for IMX platforms
2. WCSWREL-186: Merged a fix to avoid mlanutl tool to fail on kernel higher than L5.15
3. Fixed kernel crash dump warning message when invoking pm_qos_add_request
   or pm_qos_remove_request APIs in case of dual MAC SoC like Skyhawk

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2021-11-15 09:55:16 +08:00
Sherry Sun 2d93593f86 mxm_wifiex: fix the build error on kernel higher than L5.12
The parameters in cfg80211_unregister_netdevice function is wrong, will
cause the build error on kernel higher than L5.12.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2021-10-12 12:17:02 +08:00
Sherry Sun f849943092 mxm_wifiex: fix the wrong ndo_siocdevprivate function for woal_uap_netdev_ops
ndo_siocdevprivate should use woal_uap_do_ioctl instead of woal_do_ioctl
in woal_uap_netdev_ops struct.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2021-10-12 12:16:57 +08:00
Sherry Sun 8ffae47921 mxm_wifiex: update to mxm5x17283 release
changes:
1. WCSWREL-191: Fixed the error when loading module param from user config for SD8801
2. WCSWREL-186: Fixed the issue of mlanutl failing on kernel higher than L5.15
3. Fixed low throughput issue for WPA3 SAE
4. Added driver change for WLAN throughput improvement on 8997 SoC
5. Updated README to recommend not to use WEP/TKIP for all chipsets
6. WCSWREL-180: Fix P2P test fail on kernel higher than L5.12
7. WCSWREL-156: kernel_write/kernel_read not allowed by drivers for L5.10 kernel GKI buildou
8. Alternative for pm_qos_add_request/pm_qos_remove_request

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2021-10-12 12:16:50 +08:00
Sherry Sun b400ebe7fe mxm_wifiex: fix mlanutl fail on L5.15
When use mlanutl on L5.15, will meet below error logs:
root@imx8mqevk:/usr/share/nxp_wireless# ./mlanutl mlan0 hssetpara 2 0xff 0xc8 3 400
mlanutl: Operation not supported
mlanutl: hssetpara fail

This is due to the net common api change the ndo_do_ioctl behavior, it
splits out all the users of SIOCDEVPRIVATE ioctls into a separate
ndo_siocdevprivate callback. All the ioctl functions through
SIOCDEVPRIVATE in mlanutl.c will fail if not follow this upstream api
change. So here change to use new ndo_siocdevprivate instead of
ndo_do_ioctl on L5.15.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2021-09-23 09:31:05 +08:00
Sherry Sun 61d685b925 mxm_wifiex: update to mxm5x17266.p4 release
No driver change, only fw changes in this release.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2021-09-02 19:12:09 +08:00
Sherry Sun 56066208e5 mxm_wifiex: update to mxm5x17266.p3 release
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2021-09-02 19:12:09 +08:00
Sherry Sun 26f73d7b94 mxm_wifiex: update to mxm5x17266.p2 release
changes:
1. Remove unsupported commands and info from README_MLAN.
2. Improved the 8997 SDIO TCP Tx throughput.
3. 0x10c Command Timeout during p2p_connect

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2021-09-02 19:12:09 +08:00
Sherry Sun 3ba7550231 mxm_wifiex: fix P2P test fail on kernel higher than L5.12
P2P test will fail(deadlock) on kernel higher than L5.12,
error log like below:
root@imx8mmevk:~# wpa_cli -i p2p0 p2p_group_add freq=2412
[   47.284346] Add virtual interface p2p-p2p0-0
'P2P_GROUP_ADD freq=2412' command timed out.

This is because the upgarded kernel change the netdevs
registration/unregistration semantics, new kernel require the drivers
to call cfg80211_(un)register_netdevice() when this is happening due to
a cfg80211 request.

For more details, please refer to the upstream patch:
https://lore.kernel.org/linux-wireless/20210122161942.cf2f4b65e4e9.Ida8234e50da13eb675b557bac52a713ad4eddf71@changeid/

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2021-08-31 18:53:06 +08:00
Sherry Sun 8c4e48738c mwifiex: fix the suspend issue when run suspend test with the 17266 wifi release
For the wifi release 17266, we found SDIO8987 and PCIE8997 both may meet
below error logs when run suspend stress test.
"HS not actived, suspend fail!"

For pcie8997 on imx8mp, this may cause system hang. For sdio8987 and
pcie8997 on other platforms, this may cause suspend fail sometimes.
This patch is a workaround for this issue. WCS team still debugging this
issue.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by: Tian Yang <yang.tian@nxp.com>
2021-07-30 17:45:55 +08:00
Sherry Sun 27fd8ecca5 mxm_wifiex: update to mxm5x17266 release
changes:
1. WCSWREL-126: Fixed PCIE9098 suspend fail on imx8mq.
2. WCSWREL-87: Hostsleep fails as DUT doesnot wake up on traffic/pattern.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by:  Tian Yang <yang.tian@nxp.com>
2021-07-20 17:05:47 +08:00
Sherry Sun 5a5e60da84 mwifiex: drop the using of HOTPLUG to fix the build errors on Linux5.13
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Approved-by:  Tian Yang <yang.tian@nxp.com>
2021-07-13 10:51:52 +08:00
yang.tian 8649a84136 Add Android.mk for mlanutl build
Add Android.mk for mlanutl binary build in
Android image build.

Signed-off-by: yang.tian <yang.tian@nxp.com>
2021-06-09 15:44:53 +08:00
Sherry Sun a63cac0659 mxm_wifiex: update to mxm5x17247.p5 release
changes:
1. Fixed Mu-MIMO not working issue.
2. Added a workaround for suspend-resume failure to block suspend when
   WLAN is in connected state.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Reviewed-by: yang.tian <yang.tian@nxp.com>
2021-06-02 09:47:10 +08:00
Sherry Sun f65a010225 mxm_wifiex: update to mxm5x17247.p1 release
changes:
1. Fixed compilation errors for 5.12 kernel.
2. Fixed an issue with suspend/resume for PCIE9098 with 5.10.9 kernel.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Reviewed-by: yang.tian <yang.tian@nxp.com>
2021-05-08 14:57:44 +08:00
Sherry Sun d67d5967cb mxm_wifiex: update to mxm5x17247 release
changes:
1. WCSWREL-87 Added hssetpara command in mlanutl to set hostwake
   conditions.
2. WCSWREL-87 Added pcie hostsleep wakeup support.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Reviewed-by: yang.tian <yang.tian@nxp.com>
2021-05-08 14:57:34 +08:00
Sherry Sun b467c5d59d fix build error on L5.12
meet below build error log:
/home/sherry/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_pcie.c: In function ‘woal_request_pmqos_busfreq_high’:
/home/sherry/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:143:31: error: ‘woal_pcie_pm_qos_req’ undeclared (first use in this function)
  143 |  cpu_latency_qos_add_request(&woal_pcie_pm_qos_req, 0);
      |                               ^~~~~~~~~~~~~~~~~~~~
/home/sherry/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:143:31: note: each undeclared identifier is reported only once for each function it appears in
/home/sherry/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_pcie.c: In function ‘woal_release_pmqos_busfreq_high’:
/home/sherry/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:171:34: error: ‘woal_pcie_pm_qos_req’ undeclared (first use in this function)
  171 |  cpu_latency_qos_remove_request(&woal_pcie_pm_qos_req);
      |                                  ^~~~~~~~~~~~~~~~~~~~

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Reviewed-by: yang.tian <yang.tian@nxp.com>
2021-04-22 09:35:30 +08:00
Sherry Sun 65886a1976 mxm_wifiex: update to mxm5x17241 release
changes:
1. Added support for PCIE-UART W9098 SoC
2. Added support for SDIO-UART W8997 SoC
3. Added a new RF Test Mode command
4. Added txratecfg and 11axcfg related commands to mlanutl light to
   support pre-cert testing
5. Added cpu_latency_qos_add/remove_request calls for L5.10 for better
   CPU performance during throughput tests
6. Added fixes for MBO Pre-Cert failure
7. Fixed Copyright header start date, end date

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Reviewed-by: yang.tian <yang.tian@nxp.com>
2021-04-22 09:35:23 +08:00
Sherry Sun b07fa16439 mwifiex: fix build error on Linux5.12
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Reviewed-by: yang.tian <yang.tian@nxp.com>
2021-04-06 19:19:19 +08:00
longli 3988009733 Issue: WCSWREL-119 Fix RCU warning when call ieee80211_bss_get_ie
[Description]
[  179.414989] =============================
[  179.419033] WARNING: suspicious RCU usage
[  179.428095] 5.11.0-rc1-next-20210104-04456-g31eb08622591 #1 Tainted: G           O
[  179.438042] -----------------------------
[  179.443768] net/wireless/util.c:911 suspicious rcu_dereference_check() usage!
[  179.453802]
[  179.453802] other info that might help us debug this:
[  179.453802]
[  179.463924]
[  179.463924] rcu_scheduler_active = 2, debug_locks = 1
[  179.472528] 3 locks held by wpa_supplicant/586:
[  179.477109]  #0: c18c5058 (cb_lock){++++}-{3:3}, at: genl_rcv+0x14/0x34
[  179.486226]  #1: c18be65c (rtnl_mutex){+.+.}-{3:3}, at: nl80211_pre_doit+0x104/0x1e8
[  179.496033]  #2: c8382da0 (&wdev->mtx){+.+.}-{3:3}, at: nl80211_connect+0x580/0x7ac
[  179.505687]
[  179.505687] stack backtrace:
[  179.511970] CPU: 0 PID: 586 Comm: wpa_supplicant Tainted: G           O      5.11.0-rc1-next-20210104-04456-g31eb08622591 #1
[  179.523233] Hardware name: Freescale i.MX6 SoloX (Device Tree)
[  179.529093] [<c0111814>] (unwind_backtrace) from [<c010bd5c>] (show_stack+0x10/0x14)
[  179.536883] [<c010bd5c>] (show_stack) from [<c0eeae24>] (dump_stack+0xcc/0xf4)
[  179.544142] [<c0eeae24>] (dump_stack) from [<c0ded2b4>] (ieee80211_bss_get_elem+0x84/0x98)
[  179.552443] [<c0ded2b4>] (ieee80211_bss_get_elem) from [<bf0e11bc>] (woal_cfg80211_assoc+0x50c/0x98c [moal])
[  179.562737] [<bf0e11bc>] (woal_cfg80211_assoc [moal]) from [<bf0e4e2c>] (woal_cfg80211_connect+0x174/0x584 [moal])
[  179.573748] [<bf0e4e2c>] (woal_cfg80211_connect [moal]) from [<c0e30450>] (cfg80211_connect+0x1d8/0x7fc)
[  179.583590] [<c0e30450>] (cfg80211_connect) from [<c0e02aac>] (nl80211_connect+0x59c/0x7ac)
[  179.591985] [<c0e02aac>] (nl80211_connect) from [<c0c21860>] (genl_rcv_msg+0x174/0x35c)
[  179.600029] [<c0c21860>] (genl_rcv_msg) from [<c0c20960>] (netlink_rcv_skb+0xbc/0x11c)
[  179.607975] [<c0c20960>] (netlink_rcv_skb) from [<c0c20fec>] (genl_rcv+0x20/0x34)
[  179.615486] [<c0c20fec>] (genl_rcv) from [<c0c20004>] (netlink_unicast+0x1ac/0x2e0)
[  179.623173] [<c0c20004>] (netlink_unicast) from [<c0c2030c>] (netlink_sendmsg+0x1d4/0x408)
[  179.631465] [<c0c2030c>] (netlink_sendmsg) from [<c0b9d080>] (____sys_sendmsg+0x1c4/0x274)
[  179.639764] [<c0b9d080>] (____sys_sendmsg) from [<c0b9ee08>] (___sys_sendmsg+0xa4/0xd8)
[  179.647803] [<c0b9ee08>] (___sys_sendmsg) from [<c0b9efe0>] (sys_sendmsg+0x50/0x94)
[  179.655491] [<c0b9efe0>] (sys_sendmsg) from [<c0100080>] (ret_fast_syscall+0x0/0x2c)
[  179.663265] Exception stack(0xc839bfa8 to 0xc839bff0)
[  179.668342] bfa0:                   01352b30 01351da0 00000005 bec05770 00000000 00000000
[  179.676545] bfc0: 01352b30 01351da0 b6f49550 00000128 bec05770 bec057e8 00000001 00000004
[  179.684744] bfe0: 00000128 bec05720 b6c24bbf b6ba4616
[  179.718172] wlan: Connected to bssid c0:XX:XX:XX:3e:85 successfully

[Analysis]
RCU warning is happened at rcu_dereference -> rcu_dereference_check, rcu_read_lock_held() is a condition check in it.
When rcu_read_lock_held() return false, warning will be printed.

[Fix]
When call ieee80211_bss_get_ie(), the code and related ie need be wrapped around by rcu_read_lock()/rcu_read_unlock().

Signed-off-by: longli <li.long@nxp.com>
Reviewed-by: Sherry Sun <sherry.sun@nxp.com>
2021-03-01 19:06:54 +08:00
Meet Patel f9c1ec6000 Fix Copyright header start date
Signed-off-by: Meet Patel <meet.patel@nxp.com>
2021-03-01 19:05:02 +08:00
Sherry Sun 5348e27e1c mwifiex: 8997: deprecate the mwifiex_8997 driver
The mwifiex_8997 driver was used for 8997 c-driver on L5.4 Q1/Q2/Q3.
From L5.4 Q4 and L5.10, we start to use one driver -- mxm_wifiex for
8987 and 8997 wifi chip, so deprecate the mwifiex_8997 driver for L5.10.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2021-03-01 19:05:02 +08:00
Sherry Sun 070397228c mxm_wifiex: update to mxm5x16214 release(Support LF 5.10)
changes:
1. Added support for IMX Linux Kernel version 5.10
2. LF 5.10 need to be build out of tree

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Reviewed-by: yang.tian <yang.tian@nxp.com>
2020-12-10 17:02:22 +08:00
Sherry Sun 077332c2d2 mxm_wifiex: mapp: update to mxm5x16215 release
changes:
1. Removed unnecessary .conf files from config folder

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2020-12-05 16:28:29 +08:00
Fugang Duan 78b86e78be mxm_wifiex: mapp: update to mxm5x16210 release
Update mlanutl tool to mxm5x16210 release.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2020-11-17 14:05:20 +08:00
Fugang Duan e8ce4698de mxm_wifiex: mapp: update to mxm5x16203 release
Update mlanutl tool to mxm5x16203 release.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2020-11-04 16:19:31 +08:00
Fugang Duan e26a6cc8bb mxm_wifiex: mapp: fix build error by GCC10.2
Use GCC10.2, there has build error as below log:
mlan2040misc.o:(.bss+0x0): multiple definition of `leg_ap_chan_list'; mlan2040coex.o:(.bss+0x0): first defined here
mlan2040misc.o:(.bss+0x64): multiple definition of `num_leg_ap_chan'; mlan2040coex.o:(.bss+0x64): first defined here

Fix the build error.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2020-09-17 13:57:43 +08:00
Fugang Duan 8ac985b47a 8997: mapp: fix build error by GCC10.2
Use GCC10.2, there has build error as below log:
mlan2040misc.o:(.bss+0x0): multiple definition of `leg_ap_chan_list'; mlan2040coex.o:(.bss+0x0): first defined here
mlan2040misc.o:(.bss+0x64): multiple definition of `num_leg_ap_chan'; mlan2040coex.o:(.bss+0x64): first defined here

Fix the build error.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2020-09-17 13:21:55 +08:00
Fugang Duan f18705756b mxm_wifiex: update nxp mxm_wifiex sdk to 186.p4
changes:
1. Added get_txpwrlimit cmd to mlanutl
2. Added source code of mlanutl for supported commands
3. Removed unnecessary .conf files from bin_wlan/config folder

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2020-09-11 14:42:57 +08:00
Fugang Duan 5fc6a71423 mxm_wifiex: update nxp mxm_wifiex sdk
The MxM wifi driver is merged from below repo and applied some
patches for block and build issues.
ssh://git@bitbucket.sw.nxp.com/wcswrel/
rel-nxp-wifi-fp92-bt-fp85-linux-android-mxm4x17169-mgpl.git

The commit is to update the license to GPL v2.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2020-04-26 10:53:08 +08:00
Fugang Duan 33d9f8e4f3 mxm_wifiex: add nxp mxm_wifiex sdk
Add initial MxM (multi-chip-multi-interface) wifi driver.
The driver target is to support 88w8987/88w8997/88w9098,
currently it only supports 88w8987.

The MxM wifi driver is merged from below repo and applied some
patches for block and build issues.
ssh://git@bitbucket.sw.nxp.com/wcswrel/
rel-nxp-wifi-fp92-bt-fp85-linux-android-mxm4x17169-gpl.git

The sdk only includes application, the driver already is
merged into linux kernel.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2020-04-20 00:54:27 +08:00
Fugang Duan a33aa6ef80 mwifiex: mlinux: moal_pcie: add pm_qos support
Enable pm_qos to avoid system enter idle:
- to avoid suspend failed on i.MX8MP platform
- to get high performance for pcie wlan

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2020-03-02 17:30:04 +08:00
Fugang Duan 82481e5f16 Makefile: use global toolchain --sysroot
use global toolchina $CC that may have --sysroot variable.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2020-02-11 11:26:00 +08:00
Fugang Duan a248256620 mwifiex: 8997: fix the build warning
Fix below build warning:
mlnux/moal_cfg80211.h:464:29: warning: large integer implicitly truncated to unsigned type [-Woverflow]
 #define REGULATORY_CFG_LEN  (NL80211_MAX_SUPP_REG_RULES << 1)
                             ^
mlinux/moal_sta_cfg80211.c:7711:42: note: in expansion of macro ‘REGULATORY_CFG_LEN’
  misc->param.custom_reg_domain.cfg_len = REGULATORY_CFG_LEN;

mlinux/moal_eth_ioctl.c: In function ‘woal_priv_set_get_scancfg’:
mlinux/moal_eth_ioctl.c:4144:2: warning: ISO C90 forbids variable length array ‘data’ [-Wvla]
  int data[arg_len];
  ^
  CC [M]  mlinux/moal_priv.o
mlinux/moal_priv.c: In function ‘woal_set_get_scan_cfg’:
mlinux/moal_priv.c:4818:2: warning: ISO C90 forbids variable length array ‘data’ [-Wvla]
  int data[arg_len], copy_len;
  ^

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2020-01-13 11:20:27 +08:00
Fugang Duan 280b53192f mwifiex: 8997: mlinux: port the driver to support L5.4
Port the driver to support L5.4 kernel.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2020-01-13 10:35:51 +08:00
Fugang Duan bd8827d169 mwifiex: 8997: add W16.68.10.p16 release sdk
The sdk release is from NXP offial web:
https://www.nxp.com/products/wireless/wi-fi-plus-bluetooth/
88w8997-wi-fi-dual-band-with-bluetooth-5-for-a-v-streaming-and-digital-tv:88W8997?tab=Design_Tools_Tab

The release file is:
PCIE-WLAN-UART-BT-8997-U16-X86-W16.68.10.p16-16.26.10.p16-C4X16640_V4-MGPL

The sdk version is: W16.68.10.p16

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2020-01-13 10:35:39 +08:00