Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

Wi-Fi Bluetooth for Linux Forum Discussions

ArturoB
Level 1
Level 1
10 replies posted 10 sign-ins 5 replies posted

Hi all,

We are working on integrating the Wi-Fi & Bluetooth driver for Linux in our platform based on a STM32mp157 that connects a Murata 2AE ( Cypress CYW4373 ) chipset via SDIO. For that we are using the reference software package "Infineon-cypress-fmac-v5.10.9-2021_1020.zip-Software-v01_00-EN.zip" , however we are having several issues in the bring-up of the driver.

CYW4373 seems correctly detected in SDIO bus:

~# dmesg | grep -ie mmc0
[    3.417714] mmci-pl18x 48004000.sdmmc: mmc0: PL180 manf 53 rev2 at 0x48004000 irq 49,0 (pio)
[    3.589089] mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
[    3.594607] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[    3.608811] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[    3.669254] mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
[    3.787592] mmc0: new high speed SDIO card at address 0001
~#

 

Also the brcmfmac driver is automatically loaded:

cfg80211: Loading compiled-in X.509 certificates for regulatory database
cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
brcmfmac: brcmf_fw_alloc_request: using cypress/cyfmac4373-sdio for chip BCM4373/0
brcmfmac: brcmf_fw_request_firmware: no board-specific nvram available (ret=-2), device will use cypress/cyfmac4373-sdio.txt
brcmfmac: brcmf_fw_alloc_request: using cypress/cyfmac4373-sdio for chip BCM4373/0
brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4373/0 wl0: Oct  8 2021 09:44:25 version 13.10.246.261 (4410652 CY) FWID 01-3fd489ef

 

Once the driver is running I'm able to connect with an Access Point, however I start seem several alignment errors:

[   33.160071] mmci-pl18x 48004000.sdmmc: unaligned scatterlist: ofst:840 length:548, SDMMC_IDMA_BURST=32
[   33.168037] brcmfmac: mmc_submit_one: CMD53 sg block read failed -22
[   33.174330] brcmfmac: brcmf_sdio_rxglom: glom read of 1792 bytes failed: -5
[   33.181431] brcmfmac: brcmf_sdio_rxfail: abort command, terminate frame
[   33.188304] brcmfmac: brcmf_sdio_readframes: brcmf_sdio_readframes: glom superframe w/o descriptor!
[   33.197119] brcmfmac: brcmf_sdio_rxfail: terminate frame
[   35.488532] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   39.456683] mmci-pl18x 48004000.sdmmc: unaligned scatterlist: ofst:18 length:328, SDMMC_IDMA_BURST=32
[   39.464506] brcmfmac: mmc_submit_one: CMD53 sg block write failed -22
[   39.471130] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[   52.227124] mmci-pl18x 48004000.sdmmc: unaligned scatterlist: ofst:c18 length:112, SDMMC_IDMA_BURST=32
[   52.235046] brcmfmac: mmc_submit_one: CMD53 sg block write failed -22
[   52.241613] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[   57.216022] mmci-pl18x 48004000.sdmmc: unaligned scatterlist: ofst:418 length:112, SDMMC_IDMA_BURST=32
[   57.224044] brcmfmac: mmc_submit_one: CMD53 sg block write failed -22
[   57.230514] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[   62.221550] mmci-pl18x 48004000.sdmmc: unaligned scatterlist: ofst:c18 length:116, SDMMC_IDMA_BURST=32
[   62.229590] brcmfmac: mmc_submit_one: CMD53 sg block write failed -22
[   62.235973] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[   67.223287] mmci-pl18x 48004000.sdmmc: unaligned scatterlist: ofst:418 length:116, SDMMC_IDMA_BURST=32
[   67.231283] brcmfmac: mmc_submit_one: CMD53 sg block write failed -22
[   67.237743] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[  133.251372] mmci-pl18x 48004000.sdmmc: unaligned scatterlist: ofst:18 length:112, SDMMC_IDMA_BURST=32
[  133.259245] brcmfmac: mmc_submit_one: CMD53 sg block write failed -22
[  133.265626] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[  135.887536] mmci-pl18x 48004000.sdmmc: unaligned scatterlist: ofst:4e4 length:92, SDMMC_IDMA_BURST=32
[  135.895362] brcmfmac: mmc_submit_one: CMD53 sg block write failed -22
[  135.901924] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[  137.577190] mmci-pl18x 48004000.sdmmc: unaligned scatterlist: ofst:900 length:1544, SDMMC_IDMA_BURST=32
[  137.585215] brcmfmac: mmc_submit_one: CMD53 sg block read failed -22
[  137.591683] brcmfmac: brcmf_sdio_rxglom: glom read of 13824 bytes failed: -5
[  137.598824] brcmfmac: brcmf_sdio_rxfail: abort command, terminate frame
[  137.605518] brcmfmac: brcmf_sdio_hdparse: HW header length too long
[  137.611590] brcmfmac: brcmf_sdio_rxfail: terminate frame
[  137.657344] mmci-pl18x 48004000.sdmmc: unaligned scatterlist: ofst:4d8 length:104, SDMMC_IDMA_BURST=32

 

With those errors the interface is not usable, however I found this thread " brcmfamc - OMAP SG entry not aligned with block size " with a similar issue, so after try different values for the "brcm,sd_sgentry_align" device tree entry I verified that a value between "32" and "128" (this value is limited by SDIO_4373_FUNC2_BLOCKSIZE that is set to 128 ) starts working fine and I can get an usable wireless interface. These are my device-tree entries:

For 32 bytes in sd_sgentry_align:

	brcmf: bcrmf@1 {
		reg = <1>;
		compatible = "brcm,bcm4329-fmac";

		brcm,sd_head_align = /bits/ 16 <4>;
		brcm,sd_sgentry_align = /bits/ 16 <32>;
	};

For a higher value of 32 bytes, for example 128:

	brcmf: bcrmf@1 {
		reg = <1>;
		compatible = "brcm,bcm4329-fmac";

		brcm,broken_sg_support;
		brcm,sd_head_align = /bits/ 16 <4>;
		brcm,sd_sgentry_align = /bits/ 16 <128>;
	};

 

However, the brcmfmac driver is not very stable when I'm doing a throughput testing, because it throws a kernel NULL pointer:

~# dd if=/dev/urandom of=/tmp/output.txt bs=1024 count=10240
10240+0 records in
10240+0 records out
~# scp /tmp/output.txt root@192.168.1.1:/tmp/
root@192.168.1.1's password: 
output.txt                                                                                                                                                                                          39% 4050KB   2.0MB/s   00:03 ETA-
[  495.445680] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[  495.454181] pgd = 4009a252
[  495.456439] [00000000] *pgd=00000000
[  495.460018] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[  495.465292] Modules linked in: brcmfmac(E) brcmutil(E) cfg80211(E)
[  495.471519] CPU: 1 PID: 51 Comm: kworker/u5:0 Tainted: G            E     5.10.61-00729-g08fe05962fbe-dirty #146
[  495.481746] Hardware name: STM32 (Device Tree Support)
[  495.486934] Workqueue: brcmf_wq/mmc0:0001:1 brcmf_sdio_dataworker [brcmfmac]
[  495.494017] PC is at brcmf_sdiod_sglist_rw+0x204/0x514 [brcmfmac]
[  495.499997] LR is at 0x1ffe0
[  495.502946] pc : [<bf0ea3d8>]    lr : [<0001ffe0>]    psr: 80010113
[  495.509224] sp : c1bcdd08  ip : d3b39000  fp : c1bcdd4c
[  495.514392] r10: c1143040  r9 : 0000ff80  r8 : c2d74400
[  495.519664] r7 : c1b15600  r6 : 00000600  r5 : 00006a80  r4 : 00000000
[  495.526146] r3 : 00000023  r2 : c2ccb8e4  r1 : 02ccb8e4  r0 : 00000000
[  495.532731] Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[  495.539921] Control: 10c5387d  Table: c305806a  DAC: 00000051
[  495.545602] Process kworker/u5:0 (pid: 51, stack limit = 0x4276b89c)
[  495.551987] Stack: (0xc1bcdd08 to 0xc1bce000)
[  495.556356] dd00:                   d3aefd48 d3b9da06 c1bcc000 00082a20 d3af1fb0 c2d070c0
[  495.564558] dd20: d3b9e4fc 00000022 00000080 c1a96c00 c1bcdd8c 00000001 0000002b c1bcddc4
[  495.572756] dd40: c1bcde98 00008000 c1bcdd84 c1bcdd4c c1bcdd4c 00000000 003beee0 00000035
[  495.580952] dd60: a8000000 00000000 00000000 00000000 00000000 000001b5 00000000 00000000
[  495.589148] dd80: 00000000 00000000 00000000 00000000 00000000 00000080 00000000 00000000
[  495.597344] dda0: 00000000 00000100 00000000 00000000 00000000 00000000 00000000 c2cc7400
[  495.605541] ddc0: 00000000 00000000 c1bcdd5c c1bcdd8c 00000000 00000000 00000000 00000000
[  495.613736] dde0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  495.621932] de00: 00000000 00000000 00000001 c1bcde98 c2d74400 00008000 c1bcde98 00000000
[  495.630129] de20: 0000006f 00000016 c2d74800 bf0ead4c c1bcde98 0000001c c1bcde98 00000016
[  495.638326] de40: 0000001c c1bcde98 00008300 bf0e630c 00000000 00000004 00000020 0000001c
[  495.646623] de60: 00000604 00000000 c2d74ac6 00000016 000000ff bf0f33e0 00000014 18005020
[  495.654819] de80: bf0f36b4 00000000 00000001 0604026e 00000000 001c0116 c1b15a80 c2d07f00
[  495.663015] dea0: 0000002b c1e57a0e c2d74400 c2d74800 00000040 c2d74810 c2d74400 c2d74400
[  495.671211] dec0: 00000014 00000000 c1a07800 bf0e90e0 c1a39900 00000001 c18dc000 d3aef400
[  495.679407] dee0: 00000000 c18acb00 00000000 c1005118 c1a39c90 c2d74a3c 00000000 c2d74800
[  495.687602] df00: c1a04700 00000000 c10ff5c0 00000000 c1a07800 bf0e9798 c2d74a3c c1af4380
[  495.695800] df20: c1a07800 c0139d14 c1bcc000 c1a07800 c1a07818 c1af4380 c1a07800 c1af4394
[  495.703996] df40: c1a07818 c1003d00 00000088 c1bcc000 c1a07800 c013a120 00000000 c10fed3a
[  495.712191] df60: 00000000 c1af5340 c1af5300 c1bcc000 c189bdb0 c013a0d4 c1af4380 c1af5364
[  495.720387] df80: 00000000 c01402a4 00000000 c1af5300 c0140160 00000000 00000000 00000000
[  495.728582] dfa0: 00000000 00000000 00000000 c0100148 00000000 00000000 00000000 00000000
[  495.736777] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  495.744973] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[  495.753322] [<bf0ea3d8>] (brcmf_sdiod_sglist_rw [brcmfmac]) from [<bf0ead4c>] (brcmf_sdiod_send_pkt+0xb0/0xc0 [brcmfmac])
[  495.764262] [<bf0ead4c>] (brcmf_sdiod_send_pkt [brcmfmac]) from [<bf0e630c>] (brcmf_sdio_sendfromq+0x438/0x7b4 [brcmfmac])
[  495.775400] [<bf0e630c>] (brcmf_sdio_sendfromq [brcmfmac]) from [<bf0e90e0>] (brcmf_sdio_dpc+0x288/0x90c [brcmfmac])
[  495.785933] [<bf0e90e0>] (brcmf_sdio_dpc [brcmfmac]) from [<bf0e9798>] (brcmf_sdio_dataworker+0x34/0x80 [brcmfmac])
[  495.796316] [<bf0e9798>] (brcmf_sdio_dataworker [brcmfmac]) from [<c0139d14>] (process_one_work+0x1e8/0x5a8)
[  495.806137] [<c0139d14>] (process_one_work) from [<c013a120>] (worker_thread+0x4c/0x520)
[  495.814240] [<c013a120>] (worker_thread) from [<c01402a4>] (kthread+0x144/0x180)
[  495.821635] [<c01402a4>] (kthread) from [<c0100148>] (ret_from_fork+0x14/0x2c)
[  495.828917] Exception stack(0xc1bcdfb0 to 0xc1bcdff8)
[  495.833981] dfa0:                                     00000000 00000000 00000000 00000000
[  495.842175] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  495.850368] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[  495.856952] Code: e0822004 e59ac000 e2821101 21a0600e (e590e000) 
[  495.863448] ---[ end trace 310072358a036424 ]---

 

I found this thread " brcmfmac driver cause kernel Null pointer in Ti's SOC  " with a similar kernel NULL pointer, and I tried the suggested tests about try to slow down the SDIO clock but the kernel NULL pointer occurs always with the same frequency.

Do you have any guidance on how to fix that issue?

Thanks in advance,

Arturo

0 Likes
13 Replies
ArturoB
Level 1
Level 1
10 replies posted 10 sign-ins 5 replies posted

Hi,

I have new findings about the kernel NULL pointer issue.

I found out that the problem is because in the function brcmf_sdiod_sglist_rw() from bcmsdh.c file, the sg_set_buf() call is made at some point with the "sgl" pointer null and throws a kernel NULL pointer. This is due to the sg_next() call could return a NULL pointer if it is the last item, however in the brcmf_sdiod_sglist_rw() function this situation is not handled.

This is the code snippet:

 

static int brcmf_sdiod_sglist_rw(struct brcmf_sdio_dev *sdiodev,
				 struct sdio_func *func,
				 bool write, u32 addr,
				 struct sk_buff_head *pktlist)
{

[...]
[...]

	while (pkt_offset < pkt_next->len) {
		pkt_data = pkt_next->data + pkt_offset;
		sg_data_sz = pkt_next->len - pkt_offset;
		if (sg_data_sz > sdiodev->max_segment_size)
			sg_data_sz = sdiodev->max_segment_size;
		if (sg_data_sz > max_req_sz - req_sz)
			sg_data_sz = max_req_sz - req_sz;

		sg_set_buf(sgl, pkt_data, sg_data_sz); <----- At some point sgl is NULL
		sg_cnt++;

		sgl = sg_next(sgl);  <----- This could return a NULL pointer
		req_sz += sg_data_sz;
		pkt_offset += sg_data_sz;
		if (req_sz >= max_req_sz || sg_cnt >= max_seg_cnt) {
			ret = mmc_submit_one(&mmc_dat, &mmc_req, &mmc_cmd,
						sg_cnt, req_sz, func_blk_sz,
						&addr, sdiodev, func, write);
			if (ret)
				goto exit_queue_walk;
			req_sz = 0;
			sg_cnt = 0;
			sgl = sdiodev->sgtable.sgl;
		}
	}
[...]
[...]

 

Could you confirm that? Could you provide a fix for that?

 

Thanks in advance,

Arturo.

 

 

 

0 Likes
ArturoB
Level 1
Level 1
10 replies posted 10 sign-ins 5 replies posted

Hi,

Any update on this topic? any clue to fix it?

Thanks,

Arturo.

0 Likes
SAHIL_SHAIKH
Moderator
Moderator
Moderator
50 sign-ins 25 sign-ins First solution authored

Hi @ArturoB ,

We tried to bring up CYW4373+IMX6 and We were successful, We did not faced the issues which you reported. Could you please share us a detailed steps to bring up your driver?

Regards,

Sahil

0 Likes

Hi Sahil,

I'm working on top of the Linux kernel v5.10.61, over it I applied the Linux patches from "cypress-patch-v5.10.9-2021_1020.tar.gz" that are in the software package "Infineon-cypress-fmac-v5.10.9-2021_1020.zip-Software-v01_00-EN.zip". Once I have it building for my platform based on a STM32mp157, I added the required entries in the device tree to support it inside the SDIO interface:

&sdmmc3 {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	brcmf: bcrmf@1 {
		reg = <1>;
		compatible = "brcm,bcm4329-fmac";
	};
};​

When I have this configuration ready, the driver is running and I'm able to connect with an Access Point, however I start seem several alignment errors that I fixed adding the entries "brcm,sd_head_align" and "brcm,sd_sgentry_align" (I explained it with more details in my previous comments).

Once I fixed the alignment errors, the driver is functional, however when I try to test the throughput of the wireless interface I obtain a kernel NULL pointer.

Hope this helps you figure out what's going on.

 

Thanks in advance,

Arturo.

 

0 Likes
SAHIL_SHAIKH
Moderator
Moderator
Moderator
50 sign-ins 25 sign-ins First solution authored

Hi,

As you are working on "Linux kernel v5.10.61" and using patch cypress-patch-v5.10.9-2021_1020.tar.gz. Please try to downgrade the Linux kernel version to <= v5.10.9 and Try to check whether you can face same issues with it. If Yes, print the value of "sgl" in brcmf_sdiod_sglist_rw function and attach the logs.

Regards,

Sahil

0 Likes

Hi Sahil,

I was able to reproduce the issue using your Cypress backports package "cypress-backports-v5.10.9-2021_1020-module-src.tar.gz" from the software package "Infineon-cypress-fmac-v5.10.9-2021_1020.zip-Software-v01_00-EN.zip".

This is the output when the module is loading:

[    7.657534] Loading modules backported from Linux version v5.10.9-2021_1020-0-gd92ce412769b
[    7.708405] Backport generated by backports.git v5.10.42-1-0-gbee5c545
[    7.818688] stm32-crc32 58009000.crc: Initialized
[    7.829163] mc: Linux media interface: v0.10

[...]

[   10.906642] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   10.926827] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[   11.848840] brcmfmac: brcmf_fw_alloc_request: using cypress/cyfmac4373-sdio for chip BCM4373/0
[   11.868043] usbcore: registered new interface driver brcmfmac
[   11.892474] brcmfmac: brcmf_fw_request_firmware: no board-specific nvram available (ret=-2), device will use cypress/cyfmac4373-sdio.txt
[   12.088722] brcmfmac: brcmf_fw_alloc_request: using cypress/cyfmac4373-sdio for chip BCM4373/0
[   12.178732] brcmfmac: brcmf_c_preinit_dcmds: Murata Customized Version: imx-zeus-baragon_r1.0;
[   12.185943] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4373/0 wl0: Oct  8 2021 09:44:25 version 13.10.246.261 (4410652 CY) FWID 01-3fd489ef

And the modules are loaded successfully:

~# lsmod
Module                  Size  Used by
[...]
brcmfmac              258048  0
brcmutil               16384  1 brcmfmac
cfg80211              614400  1 brcmfmac
compat                 16384  2 brcmfmac,cfg80211
[...]
~#

 

Once I'm connected to an access point and start doing a throughput testing, it throws a kernel NULL pointer. So I added some debug information to print the value of "sgl" in brcmf_sdiod_sglist_rw .

This is the changes in the driver to print the sgl info:

+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
@@ -458,10 +458,18 @@ static int brcmf_sdiod_sglist_rw(struct brcmf_sdio_dev *sdiodev,
 
 			sg_set_buf(sgl, pkt_data, sg_data_sz);
 			sg_cnt++;
 
 			sgl = sg_next(sgl);
+			if (!sgl) {
+				printk("%s: sgl is NULL\n", __func__);
+			} else {
+				printk("%s: sgl->page_link = '%lu'\n", __func__, sgl->page_link);
+				printk("%s: sgl->offset = '%lu'\n", __func__, sgl->offset);
+				printk("%s: sgl->length = '%lu'\n", __func__, sgl->length);
+				printk("%s: sgl->dma_address = '%lu'\n", __func__, sgl->dma_address);
+			}
 			req_sz += sg_data_sz;
 			pkt_offset += sg_data_sz;
 			if (req_sz >= max_req_sz || sg_cnt >= max_seg_cnt) {
 				ret = mmc_submit_one(&mmc_dat, &mmc_req, &mmc_cmd,
 						     sg_cnt, req_sz, func_blk_sz,

 

This is the console output just before the kernel NULL pointer:

[...]

[  251.497777] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  251.497785] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  251.497794] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  251.497803] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  251.497813] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  251.497822] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  251.497830] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  251.497840] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  251.497849] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  251.497858] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  251.497867] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  251.497876] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  251.497903] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  251.497912] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  251.497921] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  251.497930] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  251.497939] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  251.497948] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  251.497957] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  251.497966] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  251.497975] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  251.497984] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  251.497993] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  251.498002] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  251.498011] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  251.498020] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  251.498030] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  251.498039] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  251.498048] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  251.498057] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  251.498094] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  251.498116] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  251.498139] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  251.498161] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  251.498184] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  251.498202] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  251.498211] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  251.498220] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  251.498230] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  251.498239] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  251.498248] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  251.498258] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  251.498268] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  251.498276] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  251.498285] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  251.498294] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  251.498304] brcmf_sdiod_sglist_rw: sgl->page_link = '2'
[  251.498312] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  251.498321] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  251.498331] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  251.498340] brcmf_sdiod_sglist_rw: sgl is NULL
[  251.498362] 8<--- cut here ---
[  251.500012] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[  251.508238] pgd = 2f334b2f
[  251.510891] [00000000] *pgd=00000000
[  251.514513] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[  251.519790] Modules linked in: bluetooth ecdh_generic ecc sha512_generic sha512_arm aes_arm aes_generic aes_arm_bs crypto_simd cryptd libaes cbc cryptodev(O) brcmfmac(O) brcmutil(O) snd_soc_audio_graph_card snd_soc_cs42l51_i2e
[  251.570349] CPU: 1 PID: 51 Comm: kworker/u5:0 Tainted: G           O      5.10.61 #1
[  251.578035] Hardware name: STM32 (Device Tree Support)
[  251.583340] Workqueue: brcmf_wq/mmc0:0001:1 brcmf_sdio_dataworker [brcmfmac]
[  251.590408] PC is at brcmf_sdiod_sglist_rw+0x1c8/0x62c [brcmfmac]
[  251.596380] LR is at 0x24
[  251.599022] pc : [<bf338cd8>]    lr : [<00000024>]    psr: 800e0013
[  251.605294] sp : c1bc1d18  ip : 0001ffe0  fp : c1243000
[  251.610558] r10: 00000600  r9 : c1c180c0  r8 : bf345440
[  251.615823] r7 : 00000000  r6 : 00000000  r5 : c2d1b000  r4 : c1bc1d68
[  251.622298] r3 : 00000060  r2 : 00000c40  r1 : d3b39000  r0 : 00002d2d
[  251.628876] Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[  251.636060] Control: 10c5387d  Table: c315c06a  DAC: 00000051
[  251.641836] Process kworker/u5:0 (pid: 51, stack limit = 0x6a2c06dc)
[  251.648211] Stack: (0xc1bc1d18 to 0xc1bc2000)
[  251.652570] 1d00:                                                       c09b1f04 d3af1fb0
[  251.660770] 1d20: d3b9eb76 00000240 00000040 c2d35240 00000080 c1bc1eac c1bc1d78 0000ff80
[  251.668969] 1d40: 00006e20 00000001 c1bc1db0 00000024 00000023 c1a98800 c1bc1eac c1bc0000
[  251.677168] 1d60: bf345424 00008000 c1bc1d68 c1bc1d68 00000000 00000000 00000000 00000000
[  251.685366] 1d80: 00000080 00000000 00000000 00000000 00000100 00000000 00000000 00000000
[  251.693564] 1da0: 00000000 00000000 c2d18400 00000000 00000000 c1bc1df4 c1bc1d78 00000000
[  251.701763] 1dc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  251.710062] 1de0: 00000000 00000000 00000000 00000000 00000000 00000035 a8000000 00000000
[  251.718258] 1e00: 00000000 00000000 00000000 000001b5 00000000 00000000 00000000 00000000
[  251.726456] 1e20: 00000000 93e03a94 c1e8427c 00000000 c1bc1eac c2d1b000 c1bc1eac 00008000
[  251.734654] 1e40: 00000000 c2d1b9f0 00000012 bf3399bc c1bc1eac c2d1b800 c1bc1eac c1bc1eac
[  251.742853] 1e60: c2d1b800 00000000 c2d1b800 bf33585c 00000012 c1bc1eac c2d1b800 c2d1b820
[  251.751052] 1e80: 000000ff 00000000 c2d1b9f0 bf335a48 00000000 00000014 18005020 c1bc0000
[  251.759251] 1ea0: c1bc0000 00000000 00000001 c613ba80 c1c180c0 00000024 c1a4d000 93e03a94
[  251.767449] 1ec0: c1bc0000 c2d1b800 00000000 c2d1b810 c1bc0000 c2d1b000 00000014 18005000
[  251.775648] 1ee0: 00000000 bf3375e0 c301e400 c18f2580 c1bc0000 00000000 c6042600 93e03a94
[  251.783947] 1f00: c1bc1f54 c2d1ba3c 00000000 c2d1b800 c180f700 00000000 c11ff5c0 00000000
[  251.792145] 1f20: 00000000 bf337898 c2d1ba3c c1b16280 c1bbe000 c013deb4 c1bc0000 c1bbe000
[  251.800341] 1f40: c1103d00 c1b16280 c1bbe000 c1b16294 c1103d00 c1bbe018 c1bc0000 c1bbe000
[  251.808540] 1f60: 00000000 c013e2c8 c1abcb80 c1abcb40 c1bc0000 c189bd74 c013e284 c1b16280
[  251.816737] 1f80: c1abcba4 c0143bac 00000000 c1abcb40 c0143a50 00000000 00000000 00000000
[  251.824935] 1fa0: 00000000 00000000 00000000 c0100148 00000000 00000000 00000000 00000000
[  251.833132] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  251.841331] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[  251.849711] [<bf338cd8>] (brcmf_sdiod_sglist_rw [brcmfmac]) from [<bf3399bc>] (brcmf_sdiod_send_pkt+0xf0/0x100 [brcmfmac])
[  251.860786] [<bf3399bc>] (brcmf_sdiod_send_pkt [brcmfmac]) frombrcmfmac]) from [<bf337898>] (brcmf_sdio_dataworker+0x34/0x80 [brcmfmac])
[  251.905303] [<bf337898>] (brcmf_sdio_dataworker [brcmfmac]) from [<c013deb4>] (process_one_work+0x1d8/0x5a8)
[  251.915122] [<c013deb4>] (process_one_work) from [<c013e2c8>] (worker_thread+0x44/0x49c)
[  251.923224] [<c013e2c8>] (worker_thread) from [<c0143bac>] (kthread+0x15c/0x174)
[  251.930621] [<c0143bac>] (kthread) from [<c0100148>] (ret_from_fork+0x14/0x2c)
[  251.937907] Exception stack(0xc1bc1fb0 to 0xc1bc1ff8)
[  251.942973] 1fa0:                                     00000000 00000000 00000000 00000000
[  251.951171] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  251.959365] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[  251.965950] Code: e1a00620 e7eb2052 e153000c 21a0a00c (e596c000) 
[  251.972296] ---[ end trace d8c6e6fa31afac38 ]---

 

I did an additional test using a NXP processor ( CYW4373 + IMX8M ) with the same Linux kernel patch level than my previous tests (v5.10.61 and v5.10.72), and it works fine, so I think that the patch level of the kernel is irrelevant for that issue, I think that it is something with the CYW4373 + STM32MP15 platform, maybe one of these platforms is faster/slower processing the SDIO bus packets and this is the reason to obtain the NULL pointer error or not.

 

Thanks,

Arturo.

0 Likes
ArturoB
Level 1
Level 1
10 replies posted 10 sign-ins 5 replies posted

Hi,

Any update about this issue?

Thanks in advance,

Arturo.

0 Likes
SAHIL_SHAIKH
Moderator
Moderator
Moderator
50 sign-ins 25 sign-ins First solution authored

Hi,

 

Can you please try to check whether you can get same issues with "Drogon Release". I have attached the link, please check and let us know your observations.

https://community.infineon.com/t5/Wi-Fi-Bluetooth-for-Linux/Cypress-Linux-WiFi-Driver-Release-FMAC-2...

 

Thanks & Regards,

Sahil

0 Likes

Hi Sahil,

I was able to reproduce the issue using your Cypress backports package "cypress-backports-v5.10.9-2022_0321-module-src.tar.gz" from the software package "cypress-fmac-v5.10.9-2022_0331.zip".

This is the output when the module is loading:

[    7.584623] Loading modules backported from Linux version v5.10.9-2022_0321-0-ga0971bc0b123
[    7.597049] Backport generated by backports.git v5.10.42-1-0-gbee5c545
[    7.882480] mc: Linux media interface: v0.10
[...]
[   10.795028] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   10.813566] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[   11.739492] brcmfmac: brcmf_fw_alloc_request: using cypress/cyfmac4373-sdio for chip BCM4373/0
[   11.761841] usbcore: registered new interface driver brcmfmac
[   11.795958] brcmfmac: brcmf_fw_request_firmware: no board-specific nvram available (ret=-2), device will use cypress/cyfmac4373-sdio.txt
[   11.989546] brcmfmac: brcmf_fw_alloc_request: using cypress/cyfmac4373-sdio for chip BCM4373/0
[   12.096772] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4373/0 wl0: Dec 19 2021 20:33:48 version 13.10.246.265 (30ce767 CY) FWID 01-923b5a00

And the modules are loaded successfully:

~# lsmod
Module                  Size  Used by
[...]
brcmfmac              262144  0
brcmutil               16384  1 brcmfmac
cfg80211              618496  2 brcmfmac
compat                 16384  2 brcmfmac,cfg80211
[...]
~#

Once I'm connected to an access point and start doing a throughput testing, it throws the same kernel NULL pointer as before. This is the console output with the debug information to print the value of "sgl" in brcmf_sdiod_sglist_rw() :

[...]
[  162.483376] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  162.483385] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  162.483393] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  162.483403] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  162.483413] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  162.483421] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  162.483430] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  162.483440] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  162.483449] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  162.483458] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  162.483467] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  162.483476] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  162.483485] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  162.483494] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  162.483503] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  162.483512] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  162.483522] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  162.483531] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  162.483540] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  162.483549] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  162.483558] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  162.483567] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  162.483576] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  162.483585] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  162.483594] brcmf_sdiod_sglist_rw: sgl->page_link = '0'
[  162.483603] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  162.483612] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  162.483621] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  162.483630] brcmf_sdiod_sglist_rw: sgl->page_link = '2'
[  162.483639] brcmf_sdiod_sglist_rw: sgl->offset = '0'
[  162.483648] brcmf_sdiod_sglist_rw: sgl->length = '0'
[  162.483657] brcmf_sdiod_sglist_rw: sgl->dma_address = '0'
[  162.483666] brcmf_sdiod_sglist_rw: sgl is NULL
[  162.483689] 8<--- cut here ---
[  162.485339] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[  162.493665] pgd = f11b61af
[  162.496116] [00000000] *pgd=00000000
[  162.499877] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[  162.505053] Modules linked in: bluetooth ecdh_generic ecc sha512_generic sha512_arm aes_arm aes_generic aes_arm_bs crypto_simd cryptd libaes cbc cryptodev(O) brcmfmac(O) brcmutil(O) cfg80211(O) stm32_dcmi snd_soc_audio_graph_card snd_soc_cs42l51_i2c galcore(O) snd_soc_stm32_sai_sub snd_soc_stm32_i2s snd_soc_simple_card_utils snd_soc_cs42l51 videobuf2_dma_contig v4l2_fwnode snd_soc_core videobuf2_memops videobuf2_v4l2 videobuf2_common videodev snd_pcm_dmaengine snd_pcm snd_timer stm32_hash stm32_crc32 mc snd crypto_engine snd_soc_stm32_sai compat(O) spi_stm32 soundcore [last unloaded: btdigi]
[  162.557629] CPU: 1 PID: 187 Comm: kworker/u5:1 Tainted: G           O      5.10.61 #1
[  162.565518] Hardware name: STM32 (Device Tree Support)
[  162.570822] Workqueue: brcmf_wq/mmc0:0001:1 brcmf_sdio_dataworker [brcmfmac]
[  162.577791] PC is at brcmf_sdiod_sglist_rw+0x1c8/0x62c [brcmfmac]
[  162.583863] LR is at 0x24
[  162.586503] pc : [<bf3ec554>]    lr : [<00000024>]    psr: 800b0013
[  162.592776] sp : c4d81d18  ip : 0001ffe0  fp : c1243000
[  162.597939] r10: 00000600  r9 : c1ca49c0  r8 : bf3f866c
[  162.603203] r7 : 00000000  r6 : 00000000  r5 : c303c400  r4 : c4d81d68
[  162.609779] r3 : 00000020  r2 : 00000040  r1 : df77f000  r0 : 00001a23
[  162.616357] Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[  162.623438] Control: 10c5387d  Table: c36b806a  DAC: 00000051
[  162.629212] Process kworker/u5:1 (pid: 187, stack limit = 0xa4d8d166)
[  162.635688] Stack: (0xc4d81d18 to 0xc4d82000)
[  162.640047] 1d00:                                                       c09b0620 dfc823f0
[  162.648247] 1d20: df7e5572 00000040 00000040 c2d7c040 00000080 c4d81eac c4d81d78 0000ff80
[  162.656446] 1d40: 00006e20 00000001 c4d81db0 00000040 00000023 c1a82c00 c4d81eac c4d80000
[  162.664645] 1d60: bf3f8650 00008000 c4d81d68 c4d81d68 00000000 00000000 00000000 00000000
[  162.672844] 1d80: 00000080 00000000 00000000 00000000 00000100 00000000 00000000 00000000
[  162.681042] 1da0: 00000000 00000000 c303e800 00000000 00000000 c4d81df4 c4d81d78 00000000
[  162.689239] 1dc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  162.697437] 1de0: 00000000 00000000 00000000 00000000 00000000 00000035 a8000000 00000000
[  162.705735] 1e00: 00000000 00000000 00000000 000001b5 00000000 00000000 00000000 00000000
[  162.713933] 1e20: 00000000 d1baa535 c1e55a7c 00000000 c4d81eac c303c400 c4d81eac 00008000
[  162.722131] 1e40: 00000000 c303edf0 00000020 bf3ed238 c4d81eac c303ec00 c4d81eac c4d81eac
[  162.730328] 1e60: c303ec00 00000000 c303ec00 bf3e90d0 00000020 c4d81eac c303ec00 c303ec20
[  162.738527] 1e80: 000000ff 00000000 c303edf0 bf3e92bc 00000000 00000014 18005020 c4d80000
[  162.746724] 1ea0: c4d80000 00000000 00000001 c633d240 c3053480 00000040 c1a54c0e d1baa535
[  162.754922] 1ec0: c4d80000 c303ec00 00000000 c303ec10 c4d80000 c303c400 00000014 18005000
[  162.763119] 1ee0: 00000000 bf3eae5c c37ed140 c18f2580 c4d80000 00000000 c54aa400 d1baa535
[  162.771318] 1f00: c4d81f54 c303ee3c 00000000 c303ec00 c180f600 00000000 c11ff5c0 00000000
[  162.779516] 1f20: 00000000 bf3eb114 c303ee3c c2dfdf80 c1ac5600 c013deb4 c4d80000 c1ac5600
[  162.787715] 1f40: c1103d00 c2dfdf80 c1ac5600 c2dfdf94 c1103d00 c1ac5618 c4d80000 c1ac5600
[  162.795915] 1f60: 00000000 c013e2c8 c3036080 c3036040 c4d80000 c1bcfeac c013e284 c2dfdf80
[  162.804112] 1f80: c30360a4 c0143bac 00000000 c3036040 c0143a50 00000000 00000000 00000000
[  162.812310] 1fa0: 00000000 00000000 00000000 c0100148 00000000 00000000 00000000 00000000
[  162.820507] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  162.828705] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[  162.837082] [<bf3ec554>] (brcmf_sdiod_sglist_rw [brcmfmac]) from [<bf3ed238>] (brcmf_sdiod_send_pkt+0xf0/0x100 [brcmfmac])
[  162.848156] [<bf3ed238>] (brcmf_sdiod_send_pkt [brcmfmac]) from [<bf3e90d0>] (brcmf_sdio_txpkt.constprop.0+0xa0/0x108 [brcmfmac])
[  162.859831] [<bf3e90d0>] (brcmf_sdio_txpkt.constprop.0 [brcmfmac]) from [<bf3e92bc>] (brcmf_sdio_sendfromq+0x184/0x254 [brcmfmac])
[  162.871607] [<bf3e92bc>] (brcmf_sdio_sendfromq [brcmfmac]) from [<bf3eae5c>] (brcmf_sdio_dpc+0x3f0/0x674 [brcmfmac])
[  162.882171] [<bf3eae5c>] (brcmf_sdio_dpc [brcmfmac]) from [<bf3eb114>] (brcmf_sdio_dataworker+0x34/0x80 [brcmfmac])
[  162.892570] [<bf3eb114>] (brcmf_sdio_dataworker [brcmfmac]) from [<c013deb4>] (process_one_work+0x1d8/0x5a8)
[  162.902387] [<c013deb4>] (process_one_work) from [<c013e2c8>] (worker_thread+0x44/0x49c)
[  162.910490] [<c013e2c8>] (worker_thread) from [<c0143bac>] (kthread+0x15c/0x174)
[  162.917887] [<c0143bac>] (kthread) from [<c0100148>] (ret_from_fork+0x14/0x2c)
[  162.925171] Exception stack(0xc4d81fb0 to 0xc4d81ff8)
[  162.930238] 1fa0:                                     00000000 00000000 00000000 00000000
[  162.938434] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  162.946630] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[  162.953215] Code: e1a00620 e7eb2052 e153000c 21a0a00c (e596c000) 
[  162.959835] ---[ end trace 5a34df2e2c2e6621 ]---

 

As you can see I obtain the same kernel NULL pointer, but it is expected because I compared the source code between the release "cypress-backports-v5.10.9-2021_1020-module-src.tar.gz" and the new one "cypress-backports-v5.10.9-2022_0321-module-src.tar.gz" and there are no changes in the file "bcmsdh.c" where the kernel NULL pointer happens.

 

Thanks,

Arturo.

 

 

0 Likes
ArturoB
Level 1
Level 1
10 replies posted 10 sign-ins 5 replies posted

Hi,

Any update about this issue?

Thanks in advance,

Arturo.

0 Likes
SAHIL_SHAIKH
Moderator
Moderator
Moderator
50 sign-ins 25 sign-ins First solution authored

Hi,

Thanks for update.

Regarding more update to this, I am checking with internal software team, I will update you soon.

 

Thanks & Regards,

SAHIL

0 Likes
SAHIL_SHAIKH
Moderator
Moderator
Moderator
50 sign-ins 25 sign-ins First solution authored

Hi Arturo,

 

Can you please share memory consumption information before loading the driver and after loading the driver(/proc/meminfo).

 

Thanks & Rregards,

SAHIL

0 Likes

Hi Sahil,

Before load the brcmfmac module:

~# cat /proc/meminfo 
MemTotal:         436184 kB
MemFree:          344632 kB
MemAvailable:     397416 kB
Buffers:            3532 kB
Cached:            54428 kB
SwapCached:            0 kB
Active:            16156 kB
Inactive:          46116 kB
Active(anon):        468 kB
Inactive(anon):     5440 kB
Active(file):      15688 kB
Inactive(file):    40676 kB
Unevictable:        1396 kB
Mlocked:            1396 kB
HighTotal:             0 kB
HighFree:              0 kB
LowTotal:         436184 kB
LowFree:          344632 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                64 kB
Writeback:             0 kB
AnonPages:          5712 kB
Mapped:            13292 kB
Shmem:               540 kB
KReclaimable:       7464 kB
Slab:              16484 kB
SReclaimable:       7464 kB
SUnreclaim:         9020 kB
KernelStack:         864 kB
PageTables:          436 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      218092 kB
Committed_AS:      68392 kB
VmallocTotal:     507904 kB
VmallocUsed:        5776 kB
VmallocChunk:          0 kB
Percpu:              232 kB
CmaTotal:         131072 kB
CmaFree:          130796 kB
~#

After load the brcmfmac module:

~# modprobe brcmfmac
~# cat /proc/meminfo 
MemTotal:         436184 kB
MemFree:          319728 kB
MemAvailable:     393904 kB
Buffers:            3696 kB
Cached:            75020 kB
SwapCached:            0 kB
Active:            16932 kB
Inactive:          67820 kB
Active(anon):        512 kB
Inactive(anon):     7160 kB
Active(file):      16420 kB
Inactive(file):    60660 kB
Unevictable:        1396 kB
Mlocked:            1396 kB
HighTotal:             0 kB
HighFree:              0 kB
LowTotal:         436184 kB
LowFree:          319728 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:               168 kB
Writeback:             0 kB
AnonPages:          7452 kB
Mapped:            17448 kB
Shmem:               580 kB
KReclaimable:       8140 kB
Slab:              17612 kB
SReclaimable:       8140 kB
SUnreclaim:         9472 kB
KernelStack:         936 kB
PageTables:          488 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      218092 kB
Committed_AS:      86956 kB
VmallocTotal:     507904 kB
VmallocUsed:        6852 kB
VmallocChunk:          0 kB
Percpu:              232 kB
CmaTotal:         131072 kB
CmaFree:          130796 kB
~#

 

Thanks,

Arturo.

0 Likes