Re: BRCMFMAC OOB interrupt problem
From: Arend van Spriel <arend.vanspriel@broadcom.com>
Date: 2017-06-01 09:38:36
Also in:
lkml, netdev
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 respondingCan 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>