2010-02-28 18:42:59

by Gábor Stefanik

[permalink] [raw]
Subject: Re: LP-PHY Fatal DMA error 0x00000800 on non-ULV Core 2 Duo?!?!!??!

On Sun, Feb 28, 2010 at 7:00 PM, William Bourque
<[email protected]> wrote:
> I confirm, it still crashes on my notebook as well. However the new
> "fallback to PIO" behavior introduced earlier do a fine job getting it back
> on track.
>
> Btw, you are often refering to some documentation that document the register
> for this device, where could I find it? I probably won't be able to do much,
> but I'm curious to see...
>
> - William

Thanks!

New test patch attached.

Please CC [email protected] on further e-mails,
bcm43xx-dev appears to be having problems.

--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)


Attachments:
lpphy-test.patch (2.92 kB)

2010-02-28 20:30:53

by Chris Vine

[permalink] [raw]
Subject: Re: LP-PHY Fatal DMA error 0x00000800 on non-ULV Core 2 Duo?!?!!??!

On Sun, 28 Feb 2010 19:58:11 +0100
Michael Buesch <[email protected]> wrote:
> It says 8k for all of my devices there. So an MMIO write to 0x2000
> and above writes to completely random memory.
>
My BCM4312 device is 16K:

Region 0: Memory at f8000000 (64-bit, non-prefetchable) [size=16K]

Chris



2010-02-28 18:47:45

by Rafał Miłecki

[permalink] [raw]
Subject: Re: LP-PHY Fatal DMA error 0x00000800 on non-ULV Core 2 Duo?!?!!??!

2010/2/28 Gábor Stefanik <[email protected]>:
> On Sun, Feb 28, 2010 at 7:00 PM, William Bourque
> <[email protected]> wrote:
>> I confirm, it still crashes on my notebook as well. However the new
>> "fallback to PIO" behavior introduced earlier do a fine job getting it back
>> on track.
>>
>> Btw, you are often refering to some documentation that document the register
>> for this device, where could I find it? I probably won't be able to do much,
>> but I'm curious to see...
>>
> New test patch attached.

Patch adds this /incorrect/ ssb_write32 to 0x280a, right? By incorrect
I mean over range.

Would be nice to see if dumping tool generates same log about 0x280a
now (for wl and b43 patched).

--
Rafał

2010-02-28 20:33:20

by Michael Büsch

[permalink] [raw]
Subject: Re: LP-PHY Fatal DMA error 0x00000800 on non-ULV Core 2 Duo?!?!!??!

On Sunday 28 February 2010 21:30:38 Chris Vine wrote:
> On Sun, 28 Feb 2010 19:58:11 +0100
> Michael Buesch <[email protected]> wrote:
> > It says 8k for all of my devices there. So an MMIO write to 0x2000
> > and above writes to completely random memory.
> >
> My BCM4312 device is 16K:
>
> Region 0: Memory at f8000000 (64-bit, non-prefetchable) [size=16K]

Ok, then this write is _clearly_ not to be done unconditionally.

--
Greetings, Michael.

2010-02-28 20:09:14

by Chris Vine

[permalink] [raw]
Subject: Re: LP-PHY Fatal DMA error 0x00000800 on non-ULV Core 2 Duo?!?!!??!

On Sun, 28 Feb 2010 14:44:12 -0500
William Bourque <[email protected]> wrote:
> > New test patch attached.
> >
> > Please CC [email protected] on further e-mails,
> > bcm43xx-dev appears to be having problems.
> >
>
> Hmm... I don't know if it is only coincidence, but this one seems to
> help somehow.
>
> The driver raised the DMA error again, but instead of being as soon
> as I brought up the interface, I had to stresstest (to transfert a
> file at full speed from my LAN) to make it happens. Before that I was
> able to DMA normally (loading web page ...).

I also found that it stayed up marginally longer (ie about 2 seconds
longer in my case) but I think this is probably co-incidence.

On commenting out the line setting the 0x280a memory location, and
leaving the line setting the 0x80a memory location, it failed
immediately; but these difference may just be random effects.

Chris



2010-02-28 20:55:06

by Chris Vine

[permalink] [raw]
Subject: Re: LP-PHY Fatal DMA error 0x00000800 on non-ULV Core 2 Duo?!?!!??!

On Sun, 28 Feb 2010 15:51:14 -0500
William Bourque <[email protected]> wrote:
> Chris Vine wrote:
> > On Sun, 28 Feb 2010 19:58:11 +0100
> > Michael Buesch <[email protected]> wrote:
> >> It says 8k for all of my devices there. So an MMIO write to 0x2000
> >> and above writes to completely random memory.
> >>
> > My BCM4312 device is 16K:
> >
> > Region 0: Memory at f8000000 (64-bit, non-prefetchable) [size=16K]
>
>
> Now that you mention it, mine as well :
>
> 01:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g
> (rev 01) Subsystem: Hewlett-Packard Company Device 1507
> Flags: bus master, fast devsel, latency 0, IRQ 16
> Memory at feafc000 (64-bit, non-prefetchable) [size=16K]
>
> Are all the failing devices have a 16k mem space?

And with 64-bit layout? (Michael's was 32-bit.)

Chris



2010-02-28 18:58:21

by Michael Büsch

[permalink] [raw]
Subject: Re: LP-PHY Fatal DMA error 0x00000800 on non-ULV Core 2 Duo?!?!!??!

On Sunday 28 February 2010 19:52:53 Gábor Stefanik wrote:
> 2010/2/28 Rafał Miłecki <[email protected]>:
> > 2010/2/28 Gábor Stefanik <[email protected]>:
> >> On Sun, Feb 28, 2010 at 7:00 PM, William Bourque
> >> <[email protected]> wrote:
> >>> I confirm, it still crashes on my notebook as well. However the new
> >>> "fallback to PIO" behavior introduced earlier do a fine job getting it back
> >>> on track.
> >>>
> >>> Btw, you are often refering to some documentation that document the register
> >>> for this device, where could I find it? I probably won't be able to do much,
> >>> but I'm curious to see...
> >>>
> >> New test patch attached.
> >
> > Patch adds this /incorrect/ ssb_write32 to 0x280a, right? By incorrect
> > I mean over range.
> >
> > Would be nice to see if dumping tool generates same log about 0x280a
> > now (for wl and b43 patched).
>
> I added both the "incorrect" 0x280a and the "correct" 0x80a here - it
> is possible that the 0x280a one takes advantage of an undocumented
> feature in PhoenixBIOS.

Hell, it is pure luck that this does not blow up the whole machine.

Please check the memory region of your wireless card with lspci -vvnn:

0001:10:12.0 Network controller [0280]: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [14e4:4320] (rev 03)
Subsystem: Apple Computer Inc. AirPort Extreme [106b:004e]
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: 16
Interrupt: pin A routed to IRQ 52
Region 0: Memory at a0006000 (32-bit, non-prefetchable) [size=8K]
Capabilities: <access denied>
Kernel driver in use: b43-pci-bridge
Kernel modules: ssb

It says 8k for all of my devices there. So an MMIO write to 0x2000 and above
writes to completely random memory.

--
Greetings, Michael.

2010-02-28 19:43:25

by William Bourque

[permalink] [raw]
Subject: Re: LP-PHY Fatal DMA error 0x00000800 on non-ULV Core 2 Duo?!?!!??!


> New test patch attached.
>
> Please CC [email protected] on further e-mails,
> bcm43xx-dev appears to be having problems.
>

Hmm... I don't know if it is only coincidence, but this one seems to
help somehow.

The driver raised the DMA error again, but instead of being as soon as I
brought up the interface, I had to stresstest (to transfert a file at
full speed from my LAN) to make it happens. Before that I was able to
DMA normally (loading web page ...).

- William

2010-02-28 18:53:14

by Gábor Stefanik

[permalink] [raw]
Subject: Re: LP-PHY Fatal DMA error 0x00000800 on non-ULV Core 2 Duo?!?!!??!

2010/2/28 Rafał Miłecki <[email protected]>:
> 2010/2/28 Gábor Stefanik <[email protected]>:
>> On Sun, Feb 28, 2010 at 7:00 PM, William Bourque
>> <[email protected]> wrote:
>>> I confirm, it still crashes on my notebook as well. However the new
>>> "fallback to PIO" behavior introduced earlier do a fine job getting it back
>>> on track.
>>>
>>> Btw, you are often refering to some documentation that document the register
>>> for this device, where could I find it? I probably won't be able to do much,
>>> but I'm curious to see...
>>>
>> New test patch attached.
>
> Patch adds this /incorrect/ ssb_write32 to 0x280a, right? By incorrect
> I mean over range.
>
> Would be nice to see if dumping tool generates same log about 0x280a
> now (for wl and b43 patched).

I added both the "incorrect" 0x280a and the "correct" 0x80a here - it
is possible that the 0x280a one takes advantage of an undocumented
feature in PhoenixBIOS.

>
> --
> Rafał
>



--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

2010-02-28 20:50:28

by William Bourque

[permalink] [raw]
Subject: Re: LP-PHY Fatal DMA error 0x00000800 on non-ULV Core 2 Duo?!?!!??!

Chris Vine wrote:
> On Sun, 28 Feb 2010 19:58:11 +0100
> Michael Buesch <[email protected]> wrote:
>> It says 8k for all of my devices there. So an MMIO write to 0x2000
>> and above writes to completely random memory.
>>
> My BCM4312 device is 16K:
>
> Region 0: Memory at f8000000 (64-bit, non-prefetchable) [size=16K]


Now that you mention it, mine as well :

01:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)
Subsystem: Hewlett-Packard Company Device 1507
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at feafc000 (64-bit, non-prefetchable) [size=16K]

Are all the failing devices have a 16k mem space?

- William