Commit graph

71 commits

Author SHA1 Message Date
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
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
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