Thread (1 message) 1 message, 1 author, 2017-06-01

Re: BRCMFMAC OOB interrupt problem

From: Arend van Spriel <arend.vanspriel@broadcom.com>
Date: 2017-06-01 09:38:36
Also in: linux-wireless, lkml

On 01-06-17 09:44, Hegr, Jiri wrote:
Dears,
We use small WiFi evaluation board WM-BN-BM-04_EVB_V1.2 with BCM43362 chip (Broadcom).
This board is connected to OMAP-L138 via SDIO interface with Linux 4.9.10 containing WiFi driver brcmfmac.
Our problem is in OOB interrupt. The driver (and the WiFi chip) works fine if the interrupt is not set in a device tree (SDIO interface is used instead).
But if the host-wake interrupt is used, the initialization phase does not pass. We are sure that the OOB interrupt is triggered. We found out that it waits for a control frame (probably) but it gets some event frame only. After about 2.5 seconds the timeout occurs and the initialization fails.
Could you help us to solve the problem?
There is our device tree settings and terminal output bellow (the "DBG" lines are our own).

There is also problem with WARN_ON(nents > sdiodev->max_segment_count); in bcmsdh.c file, but it seems that it does not influence the driver work because the problem occurs without OOB interrupt setting also and everything works fine.

Regards,

Jiri Hegr

mmc1: mmc@21b000 {
     #address-cells = <1>;
     #size-cells = <0>;
     max-frequency = <25000000>;
     bus-width = <4>;
     pinctrl-names = "default";
     pinctrl-0 = <&mmc1_pins>;
     status = "okay";
     non-removable;

     brcmf: bcrmf@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
interrupt-parent = <&gpio>;
interrupts = <95 0x02>;
interrupt-names = "host-wake";
     };
};

[   24.314527] brcmfmac: *** DBG: starting datawork worker thread...
[   24.354778] brcmfmac: *** DBG: brcmf_sdio_readframes...
[   24.360088] brcmfmac: *** DBG: rd->len check: 0
[   24.404232] brcmfmac: *** DBG: rd->channel check: 1
[   24.435047] brcmfmac: *** DBG: rd->len check: 0
[   24.454977] brcmfmac: *** DBG: brcmf_sdio_readframes - loop break
[   27.013900] brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout
[   27.019813] brcmfmac: brcmf_c_preinit_dcmds: Retreiving cur_etheraddr failed, -110
[   27.031282] brcmfmac: brcmf_bus_start: failed: -110
[   27.046164] brcmfmac: brcmf_sdio_firmware_callback: dongle is not responding
Can you build the driver with CONFIG_BRCMDBG and load the driver with
debugging:

$ sudo insmod brcmfmac.ko debug=0x31516

Regards,
Arend
                                          Honeywell  *
Jiri Hegr - R&D Scientist III.

Honeywell International s.r.o. - Aerospace Advanced Techonologies
V Parku 2325/16
Praha 148 00, Czech Republic
Office: Turanka 100
627 00 Brno, Czech Republic

Tel:         +420 532 115 564
E-mail:    jiri.hegr2@honeywell.com<mailto:jiri.hegr2@honeywell.com>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help