Subject: Re: [PATCH net] skge: dma_sync the whole receive buffer

From: Stephen Hemminger <[email-masked]>
Date: Wed, 14 Aug 2013 09:20:22 -0700

On Wed, 14 Aug 2013 12:20:03 +0200
poma <[email-masked]> wrote:

> On 14.08.2013 03:00, Stephen Hemminger wrote:
> > On Tue, 13 Aug 2013 15:09:55 -0700 (PDT)
> > David Miller <[email-masked]> wrote:
> > 
> >> From: Stephen Hemminger <[email-masked]>
> >> Date: Sat, 10 Aug 2013 15:02:07 -0700
> >>
> >>> The DMA sync should sync the whole receive buffer, not just
> >>> part of it. Fixes log messages dma_sync_check.
> >>>
> >>> Signed-off-by: Stephen Hemminger <[email-masked]>
> >>
> >> Applied, but I really suspect that your "check DMA mapping errors"
> >> patch has added a serious regression.  A regression much worse than
> >> the bug you were trying to fix with that change.
> > 
> > Argh. The problem is deeper than that. Device got broken somewhere between
> > 3.2 and 3.4. My old Dlink card works on 3.2 but gets DMA errors on 3.4.
> > The config's are different though so checking that as well.
> > 
> 
> Can I help you with debugging?
> DGE-530T is rather solid device.

Don't think it is a hardware problem.
The failure is when the board access the Receive ring PCI memory area.
This region is allocated with pci_alloc_consistent and therefore should
be available. Two possible issues are driver math issues, or hardware
problems with where the region is located. Some of these cards don't
really have full 64 bit PCI support.

My board is:
05:01.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter (rev 11)
	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
	Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18
	Memory at f7d20000 (32-bit, non-prefetchable) [size=16K]
	I/O ports at c000 [size=256]
	Expansion ROM at f7d00000 [disabled] [size=128K]
	Capabilities: [48] Power Management version 2
	Capabilities: [50] Vital Product Data
	Kernel driver in use: skge

What is your config?