linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* b43: DMA errors with BCM4331 on BCM4706
@ 2013-08-03 15:28 Hauke Mehrtens
  2013-08-03 16:55 ` Michael Büsch
  0 siblings, 1 reply; 4+ messages in thread
From: Hauke Mehrtens @ 2013-08-03 15:28 UTC (permalink / raw)
  To: b43-dev, linux-wireless@vger.kernel.org, Michael Büsch,
	Larry Finger, Rafał Miłecki

Hi,

I am trying to get the BCM4331 working on the BCM4706 (Mips SoC), on a
x86 this is working. Currently the bcma bus gets initialized without any
problems and b43 starts and send beacons like excepted.

When a client wants to connect to the Access point the whole system
breaks. On the DMA core 1, which is used to send the packages I get a
Fatal DMA error:
b43-phy0 ERROR: Fatal DMA error: 0x00000000, 0x00000800, 0x00000000,
0x00000000, 0x00000000, 0x00000000

After this error the driver tries to recover, by reseting the DMA
controller, but that fails:
b43-phy0: Controller RESET (DMA error) ...
bcma: bus1: Timeout waiting for register 0x0804!
Data bus error, epc == 801ac888, ra == 801ac890

This is descried in [0] as PCIData (PD)

PCI Data Error
This field is set to 1 when a PCI bus error occurs while transferring
data to or from host memory. The PCI status register (see “Status
Register (Status, offset 0x06)” on page 184) can be read to determine
the cause  of the error. This field is cleared to 0 by resetting the
channel that caused the error.

I can not find the description of the PCI status register.

I used wireshark to see what actually happens and the device send out
beacons and answers to probe requests without problems. I see the
Authentication, Association Request and Association Response frames and
then only Beacon frames and probe responses. When I do not try to
connect to this access Point there is no problem and the device stays up
for a long time, the problem is caused by the frames send or received.

I think this is a problem in the DMA controller or in the PCIe host
controller, sadly I do not have a BCM4706 SoC with a pluggable PCIe slot
to verify which part causes the problems (the card, or the PCIe controller).

Does anybody have any thought on this topic?

Hauke

[0]: http://www.broadcom.com/collateral/pg/440X-PG02-R.pdf

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-08-06  7:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-03 15:28 b43: DMA errors with BCM4331 on BCM4706 Hauke Mehrtens
2013-08-03 16:55 ` Michael Büsch
2013-08-03 17:48   ` Larry Finger
2013-08-05 16:27     ` Hauke Mehrtens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).