Commit graph

76 commits

Author SHA1 Message Date
Sherry Sun
297d1ac172 mxm_wifiex: fix next-20230804 Linux Factory rebase build errors
When build wifi driver based on next-20230804 Linux code, will observe
the following build errors.

mlinux/moal_shim.c: In function ‘moal_recv_event’:
mlinux/moal_shim.c:3475:25: error: too few arguments to function ‘cfg80211_ch_switch_notify’
mlinux/moal_main.c: In function ‘woal_set_rps_map’:
mlinux/moal_main.c:3657:29: error: invalid use of undefined type ‘struct netdev_rx_queue’
 3657 |         if (!queue || !queue->dev) {
      |                             ^~
In file included from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./arch/arm64/include/asm/compat.h:28,
                 from ./arch/arm64/include/asm/stat.h:13,
                 from ./include/linux/stat.h:6,
                 from ./include/linux/module.h:13,
                 from mlinux/moal_main.h:38,
                 from mlinux/moal_main.c:29:
mlinux/moal_main.c:3701:22: error: invalid use of undefined type ‘struct netdev_rx_queue’
 3701 |                 queue->rps_map, mutex_is_locked(&local_rps_map_mutex));
      |                      ^~
./include/linux/rcupdate.h:447:19: note: in definition of macro ‘__rcu_dereference_protected’
  447 |         ((typeof(*p) __force __kernel *)(p)); \
......

This is caused by kernel patch 49e47a5b6145("net: move struct
netdev_rx_queue out of netdevice.h"), now netdev_rx_queue has been
removed to a new header.

Note: The patch was introduced in L6.5 kernel next tree, but kernel
linus tree hasn't added, so maybe you need to keep this patch until
kernel linus tree add this patch and change the kerenl version
accordingly.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2023-08-24 14:39:16 +08:00
Sherry Sun
bcbbab1f66 mxm_wifiex: fix L6.5 kernel build errors
When build wifi driver based on L6.5 kernel, will observe the following
build errors.

/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:355:22: error:
initialization of ‘int (*)(struct wiphy *, struct net_device *,
const u8 *, int,  u8,  u8,  u16,  u32,  bool,  const u8 *, size_t)’ {aka
‘int (*)(struct wiphy *, struct net_device *, const unsigned char *,
int,  unsigned char,  unsigned char,  short unsigned int,  unsigned int,
_Bool,  const unsigned char *, long unsigned int)’} from incompatible
pointer type ‘int (*)(struct wiphy *, struct net_device *, const u8 *,
u8,  u8,  u16,  u32,  bool,  const u8 *, size_t)’ {aka ‘int (*)(struct
wiphy *, struct net_device *, const unsigned char *, unsigned char,
unsigned char,  short unsigned int,  unsigned int,  _Bool,  const
unsigned char *, long unsigned int)’} [-Werror=incompatible-pointer-types]
  355 |         .tdls_mgmt = woal_cfg80211_tdls_mgmt,
      |                      ^~~~~~~~~~~~~~~~~~~~~~~
/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:355:22: note: (near initialization for ‘woal_cfg80211_ops.tdls_mgmt’)
/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c: In function ‘woal_register_cfg80211’:
/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:10173:36: error: ‘REGULATORY_IGNORE_STALE_KICKOFF’ undeclared (first use in this function)
10173 |         wiphy->regulatory_flags |= REGULATORY_IGNORE_STALE_KICKOFF;
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:10173:36: note:
each undeclared identifier is reported only once for each function it
appears in cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /mwifiex/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.o] Error 1

These errors caused by kernel patch c6112046b1a9("wifi: cfg80211: make
TDLS management link-aware"), now tdls_mgmt() callback adds one link_id
function parameter.
And kernel patch e8c2af660ba0("wifi: cfg80211: fix regulatory disconnect
with OCB/NAN") remove the REGULATORY_IGNORE_STALE_KICKOFF flag.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2023-07-19 10:40:53 +08:00
Sherry Sun
19732f578f mxm_wifiex: update to mxm6x17408 release
Corresponding firmware version:
SDIO-UART W8987 Firmware version 16.92.21.p99
PCIE-UART W8997 Firmware version 16.92.21.p84.4
SDIO-UART W8997 Firmware version 16.92.21.p84.4
SDIO-UART IW416 Firmware version 16.92.21.p84.3
SDIO_UART IW612 Firmware version 18.99.2.p19.6
SDIO-UART W8801 Firmware version 14.92.36.p182
SDIO-UART W9098 Firmware version 17.92.1.p136.128
PCIE-UART W9098 Firmware version 17.92.1.p136.129

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2023-07-15 14:41:14 +08:00
Sherry Sun
f1382ccbd3 mxm_wifiex: remove MODULE_DEVICE_TABLE to avoid wifi driver auto load
Load wifi driver need to use specific load parameters for differnet wifi
chips, so avoid wifi driver auto load, user can load the wifi driver
along with the specific load parameters.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2023-06-01 16:07:43 +08:00
Sherry Sun
e0bf3a1310 mxm_wifiex: update to mxm5x17391.p3 release
Corresponding firmware version:
SDIO-UART W8987 Firmware version 16.92.21.p76.5
PCIE-UART W8997 Firmware version 16.92.21.p84.4
SDIO-UART W8997 Firmware version 16.92.21.p84.4
SDIO-UART IW416 Firmware version 16.92.21.p84.3
SDIO_UART IW612 Firmware version 18.99.1.p154.40
SDIO-UART W8801 Firmware version 14.92.36.p181
SDIO-UART W9098 Firmware version 17.92.1.p136.24
PCIE-UART W9098 Firmware version 17.92.1.p136.24

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2023-05-25 21:42:02 +08:00
Sherry Sun
a206d37a93 mxm_wifiex: fix mxm5x17391 release build error and warnings
Rename README_MLAN to README in Makefile, otherwise it will build break
becasue cannot find README_MLAN any more.

Also, fix the following build warnings on ARM32 and ARM64 platforms.
In file included from ./include/linux/kernel.h:29,
                 from /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_main.h:37,
                 from /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_cfg80211_util.h:26,
                 from /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_cfg80211_util.c:23:
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_cfg80211_util.c: In function ‘woal_cfg80211_subcmd_rtt_range_request’:
./include/linux/kern_levels.h:5:25: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘unsigned int’ [-Wformat=]
    5 | #define KERN_SOH        "\001"          /* ASCII Start Of Header */
      |                         ^~~~~~
./include/linux/printk.h:429:25: note: in definition of macro ‘printk_index_wrap’
  429 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
      |                         ^~~~
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_main.h:3167:25: note: in expansion of macro ‘printk’
 3167 |                         printk(KERN_ERR msg);                                  \
      |                         ^~~~~~
./include/linux/kern_levels.h:11:25: note: in expansion of macro ‘KERN_SOH’
   11 | #define KERN_ERR        KERN_SOH "3"    /* error conditions */
      |                         ^~~~~~~~
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_main.h:3167:32: note: in expansion of macro ‘KERN_ERR’
 3167 |                         printk(KERN_ERR msg);                                  \
      |                                ^~~~~~~~
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_main.h:3186:31: note: in expansion of macro ‘PRINTM_MERROR’
 3186 | #define PRINTM(level, msg...) PRINTM_##level(level, msg)
      |                               ^~~~~~~
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_cfg80211_util.c:4351:17: note: in expansion of macro ‘PRINTM’
 4351 |                 PRINTM(MERROR, "%s: invalid %d(total) != %d(num) * %lu(each)\n",
      |                 ^~~~~~

/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_init.c: In function ‘parse_line_read_card_info’:
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_init.c:556:37: warning: the comparison will always evaluate as ‘true’ for the pointer operand in ‘p + 1’ must not be NULL [-Waddress]
  556 |         if ((p != NULL) && ((p + 1) != NULL)) {
      |                                     ^~

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2023-04-19 14:56:22 +08:00
Sherry Sun
6bc61f660b mxm_wifiex: update to mxm5x17391 release
Corresponding firmware version:
SDIO-UART W8987 Firmware version 16.92.21.p76.5
PCIE-UART W8997 Firmware version 16.92.21.p84
SDIO-UART W8997 Firmware version 16.92.21.p84
SDIO-UART IW416 Firmware version 16.92.21.p84.1
SDIO_UART IW612 Firmware version 18.99.1.p154.40
SDIO-UART W8801 Firmware version 14.92.36.p180
SDIO-UART W9098 Firmware version 17.92.1.p136.24
PCIE-UART W9098 Firmware version 17.92.1.p136.24

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2023-04-18 12:54:05 +08:00
Sherry Sun
5ddbfb8039 mxm_wifiex: fix next-20230224 Linux Factory rebase build errors
When build wifi driver based on next-20230224 Linux code, will observe
the following build errors.

/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_shim.c: In function ‘moal_recv_event’:
/work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_shim.c:3475:25: error: too few arguments to function ‘cfg80211_ch_switch_notify’
 3475 |                         cfg80211_ch_switch_notify(priv->netdev, &priv->chan, 0);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_main.h:123,
                 from /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_shim.c:28:
./include/net/cfg80211.h:8375:6: note: declared here
 8375 | void cfg80211_ch_switch_notify(struct net_device *dev,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:252: /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_shim.o] Error 1
make[1]: *** [Makefile:2028: /work/mwifiex/mxm_wifiex/wlan_src] Error 2
make[1]: Leaving directory '/work/linux-nxp-rebase'

This is caused by kernel patch b345f0637c00("wifi: cfg80211: include
puncturing bitmap in channel switch events"), now
cfg80211_ch_switch_notify() needs four parameters.

Note: The patch was introduced in L6.2 kernel next tree, but in L6.3
kernel linus tree, so maybe you need to change the kernel version to
L6.3 after we rebase the linux-nxp-rebase to L6.3.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2023-03-10 11:38:03 +08:00
Sherry Sun
f965f1f2cf mxm_wifiex: fix next-20230119 Linux Factory rebase build errors
When build wifi driver based on next-20230119 Linux code, will observe
the following build errors.
/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c: In function ‘woal_priv_get_ap’:
/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:5968:39: error: invalid application of ‘sizeof’ to incomplete type ‘char[]’
 5968 |                                 sizeof(mwr->u.ap_addr.sa_data));
      |                                       ^
make[2]: *** [scripts/Makefile.build:252: /work/mwifiex/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.o] Error 1
make[1]: *** [Makefile:2027: /work/mwifiex/mxm_wifiex/wlan_src] Error 2
make[1]: Leaving directory '/work/linux-nxp-rebase'

This is caused by kernel patch b5f0de6df6dc("net: dev: Convert sa_data
to flexible array in struct sockaddr"), now anything using
sizeof(sa->sa_data) must switch to sizeof(sa->sa_data_min).

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2023-02-09 12:34:24 +08:00
Sherry Sun
98e5b28b1a mxm_wifiex: move SCR.txt to root folder and rename LICENSE file
SCR.txt and LICENSE files should be in root folder, also need to rename
the gpl-2.0.txt file to work better with GitHub.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2023-02-01 17:42:00 +08:00
Sherry Sun
371f75d252 mxm_wifiex: update to mxm5x17368.p2 release
Driver Bug Fixes:
-----------------
1. WSW-23826: DUT is not waking up on Boadcast Event
2. WSW-22873: Random Kernel crash is seen in STAUT RSNE bounds verification using WPA2-Enterprise test
3. WCSWREL-400: Fixed kernel panic during FW reload
4. WSFD-599: Support trigger frame generating in RF test mode
5. WSW-23330: Auto Go can't bring up after auto Fw reload
6. WSW-23920: DUT fails to send NA packet in response NS packet during ipv6 NSoffload when host sleep is enabled
7. WSW-23938: Wi-Fi stuck after cmd53 read error=-84
8. WSW-22765: Fixed the issue of WPA2-Enterprise STA test fails
9. WSW-24932: Random Wifi hang Issue with error wakeup card timeout is observed during coex scenario

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2023-01-31 11:02:59 +08:00
Sherry Sun
9bbd4d8c52 mxm_wifiex: update to mxm5x17368 release
Driver Bug Fixes:
-----------------
1. WCSWREL-357: WiFi crash when enable Android Global CFI configuration
2. WSW-23818: DUT setup DFS channel failed
3. WSW-20079: Tx RvR and TP Improvement
4. WSW-23330: Fix P2P-GO start failure post auto recovery
5. WSW-22914: Fixed WiFiHAL can't print hotfix release version

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-12-20 15:45:49 +08:00
Sherry Sun
d819b6d266 mxm_wifiex: update to mxm5x17366.p5 release
Driver Bug Fixes:
-----------------
1. WCSWREL-386: wifi cannot re-connect to AP automatically after resume back

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-11-14 09:08:04 +08:00
Sherry Sun
4eb4876654 mxm_wifiex: fix the 17366.p3 version wifi driver build errors on L6.x kernel
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-11-11 16:00:18 +08:00
Sherry Sun
2a2b814866 mxm_wifiex: update to mxm5x17366.p3 release
Driver Bug Fixes:
-----------------
1. WSW-22601: kernel warning are seen on STAUT when Channel switch command is executed on Ex-AP
2. WSW-22845: hotspot start fail in function test from Android GUI
3. WSW-22456: APUT is not sending ECSA Action frames when channel_switch command is executed with ECSA Action frame enabled
4. WCSWREL-372: Kernel difference between Linux 5.15 and Android 13 cause Wi-Fi driver compilation failure
5. WSW-17873: Remove big endian flag from makefile
6. WSW-22457: APUT is not switching to new channel when channel_switch command is executed in 2.4 GHz
7. WSW-22313: 0xa9 cmd timeout on fw reload
8. WCSWREL-375: merge the fix patch for the build errors with the API changes on next-20220912 kernel tag
9. WSW-22361: Change the state of Timer function in mxmdriver
10. WSW-22207: Kernel Panic when run timeout IR stress on iMX8 Platform
11. WSFD-559: Support Wi-fi Auto Recovery in Linux driver

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-11-11 15:57:21 +08:00
Sherry Sun
f0c4bdf134 mxm_wifiex: enable IW612 in mwifiex wifi driver
Enable IW612 device in mwifiex wifi driver instead the standalone IW612
wifi driver.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-11-04 18:58:07 +08:00
Sherry Sun
72ddfc7550 mxm_wifiex: use get_random_u32() when possible
The prandom_u32() function has been a deprecated inline wrapper around
get_random_u32() for several releases now, and compiles down to the
exact same code. Replace the deprecated wrapper with a direct call to
the real function.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-10-27 12:40:18 +08:00
Sherry Sun
5a38226a47 mxm_wifiex: update to mxm5x17362 release
Driver Bug Fixes:
-----------------
1. WSW-19892: Driver compilation errors on older kernel version
2. WSW-19638: Enable RF Test Mode support for 9098 PCIE and SDIO
3. WCSWREL-370: oob irq request fail on i.MX93 9x9 qsb board
4. WSW-21756: WLAN Driver hang observed during WiFi connect/disconnect
5. WCSWREL-362: merge the L6.0.0 build errors fix patches
6. WSW-22054: STA CSA event is not propagated to cfg80211
7. WSW-21873: STA does not send probes after switching from DFS channel
8. WSW-21530: UDP Tx not able to send ARP when high bandwidth is used
9. WSW-21541: WFA Pre-Cert Channel switch test is failing
10. WSW-21072: AP stops sending CTS-to-Self in mcast Tx after issue mc_aggr_cfg

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-10-10 15:32:56 +08:00
Sherry Sun
65ddf89682 mxm_wifiex: fix the build errors with the API changes on next-20220930 kernel tag
b48b89f9c189 ("net: drop the weight argument from netif_napi_add") patch
in upstream kernel change the netif_napi_add API, so corresponding
functions used in wifi driver also need to be changed to avoid build
break. Now this API change is based on the next-20220930 kernel tag.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-10-10 15:25:57 +08:00
Sherry Sun
d88bd98445 mxm_wifiex: fix the build errors with the API changes on next-20220912 kernel tag
Kernel cfg80211 add link_id parameter to various key operations for
MLO, for more details, please check the following link:
https://lore.kernel.org/all/20220730052643.1959111-4-quic_vjakkam@quicinc.com/

As these API changes on next-20220912 kernel tag, corresponding
functions also need to be changed to avoid build break.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-09-26 12:03:35 +08:00
Sherry Sun
fb098b07fc mxm_wifiex: fix oob irq request fail on i.MX93 9x9 qsb board
i.MX93 9x9 qsb board connect the out-of-band WoWLAN irq pin(M.2 pin21
SDIO_WAKE) to I2C IO expander pcal6524 instead of i.MX GPIO, pcal6524
IRQ handlers need to be threaded, and the IRQ trigger type depends on
the devicetree setting. Also the IRQF_ONESHOT flag need to be set for
threaded IRQ.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Reviewed-by: Haibo Chen <haibo.chen@nxp.com>
2022-09-14 18:26:15 +08:00
Sherry Sun
a036032a76 mxm_wifiex: update to mxm5x17344.p3 release
Driver Bug Fixes:
-----------------
1. LF-6972: Updated the License to GPL-2.0
2. Incremented the driver version

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-08-31 13:08:31 +08:00
Sherry Sun
3bcb60dc2b mxm_wifiex: update to mxm5x17344.p2 release
Driver Bug Fixes:
-----------------
1. WSW-21217: Wifi driver crash at woal_ring_poll_worker during PDn recovery test
2. WSW-21020: Enable host_mlme by default
3. WSW-20532: Resolved CSA IE not present in beacon when injecting chirp type radar
4. WSW-21085: Link measurement bit not set in RRM Cap IE
5. WSW-17940: Kernel crash is seen randomly during STA/P2P testing
6. WSW-19320: Testcases from VtsHalWifiV1_3TargetTest suite are failing
7. WSW-21164: Fix driver crash issue caused by null ring buffer of wifi logger
8. WSW-19335: RSN Extension IE is not included in Assoc req when AP side does not connect via WPA3 R3

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-08-31 13:08:26 +08:00
Sherry Sun
9a15e44e49 mxm_wifiex: fix the build errors with the API changes on next-20220719 kernel tag
There are many cfg80211 common api and struct changes on next-20220719
kernel tag, which is based on v5.19-rc7 Linus tree tag with the for-next
branch patches on each kernel IP repo, target for v6.0 kernel version.
So need to change the local wifi driver accordingly to avoid the build
errors.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2022-08-22 16:10:44 +08:00
Sherry Sun
30f40263eb mwifiex: update SCR.txt file
Remove Package Category from the local SCR file.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-08-12 09:28:52 +08:00
Sherry Sun
880a3f5b7b mwifiex: add SCR.txt for mwifiex repo
Add the SCR.txt for mwifiex repo.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-08-10 10:39:39 +08:00
Sherry Sun
a0835444f1 mxm_wifiex: update to mxm5x17344.p1 release
Driver Bug Fixes:
-----------------
1. WCSWREL-352: Fixed WiFi driver kernel panic with "use after free" print
2. WCSWREL-353: Fixed WiFi driver panic when switch AP to another AP
3. WCSWREL-337: merge the L5.18 build errors and warnings fix patches into next wifi release
4. WSW-16518: Fixed STA going to unresponsive state during basic UAPSD operation
5. WSW-19350: Observed "unexpected kernel BRK exception" in STA 2G VHT with BT HID traffic running simultaneously
6. WSW-19640: cannot enable the "20/40 BSS Coexistence Management" support

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-07-19 12:20:01 +08:00
Sherry Sun
c874a3d10c 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-31 09:59:14 +08:00
Sherry Sun
638d8eae2a mxm_wifiex: fix the build errors with the API changes on L5.18 kernel
L5.18 kernel removed the wrappers in include/linux/pci-dma-compat.h, so
need to switch from 'pci_dma' to 'dma_' API.

Also, to make it unambiguous that mmc_hw_reset() is for cards and not
for controllers, L5.18 kernel make the function argument mmc_card
instead of mmc_host.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
2022-05-13 13:04:59 +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