Skip to contentSkip to conversation

bcma-pci-bridge issue with bcm43224

DISCUSSION Arend van Spriel 3 participants 6 messages Jul 11, 2012 – Jul 21, 2012

lore
Share & tools
lore
#0 lore raw

Hi Rafal

I am testing with BCM43224 in PCIe slot:

$ lspci -vns 03:00.0
03:00.0 0280: 14e4:4353 (rev 01)
	Subsystem: 1028:000e
	Flags: bus master, fast devsel, latency 0, IRQ 17
	Memory at e6e00000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: bcma-pci-bridge

In the log the irq field in the bcma_device structure is printed in brcmsmac probe function and the value seems invalid hence the request_irq() failure. Any clues?

Gr. AvS

[86629.110723] bcma: bus0: Found chip with id 0xA8D8, rev 0x01 and
package 0x0A
[86629.110783] bcma: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id
0x800, rev 0x22, class 0x0)
[86629.110828] bcma: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id
0x812, rev 0x17, class 0x0)
[86629.110939] bcma: bus0: Core 2 found: PCIe (manuf 0x4BF, id 0x820,
rev 0x0F, class 0x0)
[86629.144286] bcma: bus0: Bus registered
[86672.144812] brcmsmac bcma0:0: mfg 4bf core 812 rev 23 class 0 irq
-421527552
[86672.150745] brcmsmac: Applying 43224B0+ WARs
[86672.153155] ieee80211 phy0: wl0: request_irq() failed
[86672.153169] brcmsmac: brcms_bcma_probe: brcms_attach failed!
#1 lore raw

2012/7/11 Arend van Spriel <[email protected]>:

Quoted 17 lines

Hi Rafal

I am testing with BCM43224 in PCIe slot:

$ lspci -vns 03:00.0
03:00.0 0280: 14e4:4353 (rev 01)
        Subsystem: 1028:000e
        Flags: bus master, fast devsel, latency 0, IRQ 17
        Memory at e6e00000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: bcma-pci-bridge

In the log the irq field in the bcma_device structure is printed in brcmsmac probe function and the value seems invalid hence the request_irq() failure. Any clues?

Gr. AvS

Quoted 14 lines
[86629.110723] bcma: bus0: Found chip with id 0xA8D8, rev 0x01 and
package 0x0A
[86629.110783] bcma: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id
0x800, rev 0x22, class 0x0)
[86629.110828] bcma: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id
0x812, rev 0x17, class 0x0)
[86629.110939] bcma: bus0: Core 2 found: PCIe (manuf 0x4BF, id 0x820,
rev 0x0F, class 0x0)
[86629.144286] bcma: bus0: Bus registered
[86672.144812] brcmsmac bcma0:0: mfg 4bf core 812 rev 23 class 0 irq
-421527552
[86672.150745] brcmsmac: Applying 43224B0+ WARs
[86672.153155] ieee80211 phy0: wl0: request_irq() failed
[86672.153169] brcmsmac: brcms_bcma_probe: brcms_attach failed!

No idea at the moment. I can setup my machine and give it a try. I'll need a day or rather two.

Are you using wireless-testing?

Signature · 1 line
Rafał
#2 lore raw
Quoted 33 lines · Rafał Miłecki

2012/7/11 Arend van Spriel <[email protected]>:

Quoted 17 lines

Hi Rafal

I am testing with BCM43224 in PCIe slot:

$ lspci -vns 03:00.0
03:00.0 0280: 14e4:4353 (rev 01)
        Subsystem: 1028:000e
        Flags: bus master, fast devsel, latency 0, IRQ 17
        Memory at e6e00000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: bcma-pci-bridge

In the log the irq field in the bcma_device structure is printed in brcmsmac probe function and the value seems invalid hence the request_irq() failure. Any clues?

Gr. AvS

Quoted 14 lines
[86629.110723] bcma: bus0: Found chip with id 0xA8D8, rev 0x01 and
package 0x0A
[86629.110783] bcma: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id
0x800, rev 0x22, class 0x0)
[86629.110828] bcma: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id
0x812, rev 0x17, class 0x0)
[86629.110939] bcma: bus0: Core 2 found: PCIe (manuf 0x4BF, id 0x820,
rev 0x0F, class 0x0)
[86629.144286] bcma: bus0: Bus registered
[86672.144812] brcmsmac bcma0:0: mfg 4bf core 812 rev 23 class 0 irq
-421527552
[86672.150745] brcmsmac: Applying 43224B0+ WARs
[86672.153155] ieee80211 phy0: wl0: request_irq() failed
[86672.153169] brcmsmac: brcms_bcma_probe: brcms_attach failed!
Quoted 5 lines

No idea at the moment. I can setup my machine and give it a try. I'll need a day or rather two.

Are you using wireless-testing?

Yes. My branch is based on

commit 43eec16e655eeaee396fe20ab2e92f0fee5a9440
Merge: bb75604 abb14fc
Author: John W. Linville <[email protected]>
Date: Fri Jul 6 16:30:45 2012 -0400

Gr. AvS

#3 lore raw
In reply to Rafał Miłecki
Quoted 33 lines · Rafał Miłecki

2012/7/11 Arend van Spriel <[email protected]>:

Quoted 17 lines

Hi Rafal

I am testing with BCM43224 in PCIe slot:

$ lspci -vns 03:00.0
03:00.0 0280: 14e4:4353 (rev 01)
        Subsystem: 1028:000e
        Flags: bus master, fast devsel, latency 0, IRQ 17
        Memory at e6e00000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: bcma-pci-bridge

In the log the irq field in the bcma_device structure is printed in brcmsmac probe function and the value seems invalid hence the request_irq() failure. Any clues?

Gr. AvS

Quoted 14 lines
[86629.110723] bcma: bus0: Found chip with id 0xA8D8, rev 0x01 and
package 0x0A
[86629.110783] bcma: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id
0x800, rev 0x22, class 0x0)
[86629.110828] bcma: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id
0x812, rev 0x17, class 0x0)
[86629.110939] bcma: bus0: Core 2 found: PCIe (manuf 0x4BF, id 0x820,
rev 0x0F, class 0x0)
[86629.144286] bcma: bus0: Bus registered
[86672.144812] brcmsmac bcma0:0: mfg 4bf core 812 rev 23 class 0 irq
-421527552
[86672.150745] brcmsmac: Applying 43224B0+ WARs
[86672.153155] ieee80211 phy0: wl0: request_irq() failed
[86672.153169] brcmsmac: brcms_bcma_probe: brcms_attach failed!
Quoted 5 lines

No idea at the moment. I can setup my machine and give it a try. I'll need a day or rather two.

Are you using wireless-testing?

Additional info: the issue does not show on a x86_64 platform, which has the same PCIe chip.

Gr. AvS

#4 lore raw
Quoted 13 lines · Arend van Spriel
Quoted 12 lines · Rafał Miłecki

2012/7/11 Arend van Spriel <[email protected]>:

Quoted 11 lines

Hi Rafal

I am testing with BCM43224 in PCIe slot:

$ lspci -vns 03:00.0
03:00.0 0280: 14e4:4353 (rev 01)
        Subsystem: 1028:000e
        Flags: bus master, fast devsel, latency 0, IRQ 17
        Memory at e6e00000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: bcma-pci-bridge
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

In the log the irq field in the bcma_device structure is printed in brcmsmac probe function and the value seems invalid hence the request_irq() failure. Any clues?

brcmsmac prints: irq: -421527552 this is the reason request_irq() fails.

Does this problem also occurs on other wireless cards?

Quoted 14 lines
Quoted 14 lines
Quoted 13 lines

Gr. AvS

[86629.110723] bcma: bus0: Found chip with id 0xA8D8, rev 0x01 and
package 0x0A
[86629.110783] bcma: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id
0x800, rev 0x22, class 0x0)
[86629.110828] bcma: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id
0x812, rev 0x17, class 0x0)
[86629.110939] bcma: bus0: Core 2 found: PCIe (manuf 0x4BF, id 0x820,
rev 0x0F, class 0x0)
[86629.144286] bcma: bus0: Bus registered
[86672.144812] brcmsmac bcma0:0: mfg 4bf core 812 rev 23 class 0 irq
Quoted 1 line

-421527552

This number is wrong. This number is a unsigned int, and %d should only be used for signed ints.

Have you checked if irq is set correctly in drivers/bcma/main.c or if the pci_dev structure contains a wrong value?

-421527552 is 0xe6e00000 in hex, this looks like it reads out a wrong memory region when accession a structure, have you tried to to a complete recompile of the kernel?

Quoted 4 lines
Quoted 4 lines
Quoted 3 lines
[86672.150745] brcmsmac: Applying 43224B0+ WARs
[86672.153155] ieee80211 phy0: wl0: request_irq() failed
[86672.153169] brcmsmac: brcms_bcma_probe: brcms_attach failed!
Quoted 8 lines
Quoted 5 lines

No idea at the moment. I can setup my machine and give it a try. I'll need a day or rather two.

Are you using wireless-testing?

Additional info: the issue does not show on a x86_64 platform, which has the same PCIe chip.

This is strange but it increases my thoughts that the error is not directly related to brcmsmac and bcma.

#5 lore raw
In reply to Arend van Spriel

2012/7/11 Arend van Spriel <[email protected]>:

Quoted 11 lines

Hi Rafal

I am testing with BCM43224 in PCIe slot:

$ lspci -vns 03:00.0
03:00.0 0280: 14e4:4353 (rev 01)
        Subsystem: 1028:000e
        Flags: bus master, fast devsel, latency 0, IRQ 17
        Memory at e6e00000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: bcma-pci-bridge
Quoted 3 lines

In the log the irq field in the bcma_device structure is printed in brcmsmac probe function and the value seems invalid hence the request_irq() failure. Any clues?

Sorry for late reply, I couldn't setup my testing machine to work with openSUSE firewall and I couldn't debug that problem remotely :|

I've plugged my BCM43225 and noticed it doesn't provide any RX (scanning results) for both: b43 and brcmsmac. I suspected it's indeed the regression you noticed and tried going back to other releases. After reaching 3.2.0 I noticed sth is wrong. Kernel 3.2.0 was working for me for sure.

After playing with my machine a little more, I've figured out the problem. When I had my dedicated GPU card connected to the motherboard, Broadcom cards diddn't get any RX! I've confirmed that problem with "wl" driver as well.

After removing my AMD GPU (and switching to the one on the motherboard) card started working correctly. Even with the latest wireless-testing, including both: b43 and brcmsmac.

So I can't really debug that problem you're seeing :( Could you try bisecting this, please?

Signature · 1 line
Rafał