Bug 178601

Summary: brcmfmac regression in chip recognition
Product: Networking Reporter: Ben (psylox)
Component: WirelessAssignee: networking_wireless (networking_wireless)
Status: RESOLVED DUPLICATE    
Severity: high CC: psylox
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.11.7-1-ARCH Subsystem:
Regression: Yes Bisected commit-id:
Attachments: dmesg output when loading/unloading brcmfmac on a working kernel

Description Ben 2016-10-20 06:51:31 UTC
Hi,

Since I upgraded the system yesterday, brcmfmac is not able to recognize the chip anymore. It was working on previous kernel 4.7.XX (can't remember the full version number). I am now on :
% uname -a
Linux lamontagne 4.8.2-1-ARCH #1 SMP PREEMPT Mon Oct 17 08:11:46 CEST 2016 x86_64 GNU/Linux

When probing brcmfmac I got in dmesg:
[10396.415322] usbcore: registered new interface driver brcmfmac
[10396.415375] brcmfmac: brcmf_chip_recognition: chip backplane type 15 is not supported
[10396.415377] brcmfmac: brcmf_pcie_probe: failed 14e4:43ba

And last detail, my card is :
% lspci -s 03:00.0 -vv   
03:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)
	Subsystem: Apple Inc. Device 0133
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 18
	Region 0: Memory at c1400000 (64-bit, non-prefetchable) [size=32K]
	Region 2: Memory at c1000000 (64-bit, non-prefetchable) [size=4M]
	Capabilities: <access denied>
	Kernel modules: brcmfmac, wl


Tell me if you need more information?

Cheers,
Ben.
Comment 1 Ben 2016-10-21 10:46:03 UTC
Hi,

Digging a bit, when loading the module with debug information I can get:
[14845.365215] brcmfmac: brcmfmac_module_init No platform data available.
[14845.365346] brcmfmac: brcmf_usb_register Enter
[14845.365366] usbcore: registered new interface driver brcmfmac
[14845.365367] brcmfmac: brcmf_pcie_register Enter
[14845.365389] brcmfmac: brcmf_pcie_probe Enter 14e4:43ba (1/3)
[14845.365513] brcmfmac: brcmf_pcie_get_resource Phys addr : reg space = ffffc90001cc0000 base addr 0x000000c1400000
[14845.365514] brcmfmac: brcmf_pcie_get_resource Phys addr : mem space = ffffc90005000000 base addr 0x000000c1000000 size 0x400000
[14845.365525] brcmfmac: brcmf_chip_recognition found AXI chip: BCM65535, rev=15
[14845.365526] brcmf_chip_recognition: chip backplane type 15 is not supported
[14845.365527] brcmf_pcie_probe: failed 14e4:43ba

It seems the data read from the bus are wrong "0xffffffff" as it gives : BCM65535, rev=15

Cheers,
Ben
Comment 2 Ben 2016-10-21 15:57:26 UTC
I don't know what to do more, then I downgraded to a previous working kernel:
% uname -a
Linux lamontagne 4.7.6-1-ARCH #1 SMP PREEMPT Fri Sep 30 19:28:42 CEST 2016 x86_64 GNU/Linux

And brcmfmac is working again (interface is created I still didn't try to connect to an ESSID).
I attached the output of dmesg when "insmod brcmfmac.ko debug=0xfffffff" in case it is useful.

Please tell me I if can try something else, or give more information to help?

Cheers,
Ben.
Comment 3 Ben 2016-10-21 15:58:18 UTC
Created attachment 242131 [details]
dmesg output when loading/unloading brcmfmac on a working kernel
Comment 4 Ben 2017-07-04 06:49:29 UTC
Hi,

Still the same issue with kernel 4.9.35-ARCH (lts) and 4.11.7-1-ARCH.

Am I the only one with this issue?

Cheers,
Ben.
Comment 5 Ben 2017-07-11 13:07:20 UTC
Hi,

I finally found the solution in this comment: https://bugzilla.kernel.org/show_bug.cgi?id=196019#c6

Just add to make the PCIe reset as stated in the comment and it works!
I mark the bug as duplicated as both seems to be related.

Cheers,
Ben.

*** This bug has been marked as a duplicate of bug 196019 ***