netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dave Jones <davej@redhat.com>
To: netdev@vger.kernel.org
Subject: 8139cp dma-debug warning.
Date: Thu, 6 Aug 2009 17:57:02 -0400	[thread overview]
Message-ID: <20090806215702.GA17555@redhat.com> (raw)

I'm chasing yet another dma-debug warning where we're unmapping a different
size to what we mapped.

 > WARNING: at lib/dma-debug.c:803 check_unmap+0x1f5/0x509() (Not tainted)
 > Hardware name: 
 > 8139cp 0000:00:03.0: DMA-API: device driver frees DMA memory with different
 > size [device address=0x000000001e9f8852] [map size=1536 bytes] [unmap size=1538
 > bytes]
 > Modules linked in: ipv6 dm_multipath uinput joydev 8139too virtio_balloon
 > 8139cp mii i2c_piix4 virtio_pci i2c_core floppy squashfs pata_acpi ata_generic
 > [last unloaded: scsi_wait_scan]
 > Pid: 0, comm: swapper Not tainted 2.6.31-0.125.rc5.git2.fc12.i686 #1
 > Call Trace:
 >  [<c0444408>] warn_slowpath_common+0x7b/0xa3
 >  [<c0606746>] ? check_unmap+0x1f5/0x509
 >  [<c0444499>] warn_slowpath_fmt+0x34/0x48
 >  [<c0606746>] check_unmap+0x1f5/0x509
 >  [<c04ecb43>] ? check_valid_pointer+0x2c/0x6c
 >  [<c0606c00>] debug_dma_unmap_page+0x62/0x7b
 >  [<e0dc80be>] dma_unmap_single_attrs.clone.2+0x5a/0x75 [8139cp]
 >  [<e0dc8220>] cp_rx_poll+0x147/0x301 [8139cp]
 >  [<c077e5d4>] net_rx_action+0xa7/0x1d3
 >  [<c044accf>] __do_softirq+0xc8/0x192
 >  [<c044ade2>] do_softirq+0x49/0x7f
 >  [<c044af36>] irq_exit+0x48/0x8c
 >  [<c041c302>] smp_apic_timer_interrupt+0x7a/0x99
 >  [<c0404416>] apic_timer_interrupt+0x36/0x3c
 >  [<c0425e98>] ? native_safe_halt+0xa/0xc
 >  [<c040ad6f>] default_idle+0x55/0x98
 >  [<c046e44d>] ? trace_hardirqs_off+0x19/0x2c
 >  [<c04029e3>] cpu_idle+0xac/0xcd
 >  [<c08080ee>] rest_init+0x66/0x79
 >  [<c0a72ae0>] start_kernel+0x36f/0x385
 >  [<c0a7207e>] __init_begin+0x7e/0x96
 > ---[ end trace f3c3298e5df24f15 ]---
 > Mapped at:
 >  [<c0606f6b>] debug_dma_map_page+0x6b/0x13b
 >  [<e0dc7c22>] dma_map_single_attrs.clone.1+0x78/0x93 [8139cp]
 >  [<e0dc86d0>] cp_init_rings+0xaa/0x12c [8139cp]
 >  [<e0dc87d6>] cp_open+0x84/0x154 [8139cp]
 >  [<c077ff2b>] dev_open+0x99/0xe4
 
Looking at 8139cp.c I see this code in cp_rx_poll ..

 552                 buflen = cp->rx_buf_sz + NET_IP_ALIGN;
 553                 new_skb = netdev_alloc_skb(dev, buflen);
 554                 if (!new_skb) {
 555                         dev->stats.rx_dropped++;
 556                         goto rx_next;
 557                 }
 558 
 559                 skb_reserve(new_skb, NET_IP_ALIGN);


Aren't we padding the alignment twice here? or am I missing something?
The warning was a difference of two bytes, which is NET_IP_ALIGN,
so I'm wondering if that skb_reserve line needs to be nuked ?

	Dave


             reply	other threads:[~2009-08-06 21:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-06 21:57 Dave Jones [this message]
2009-08-12 17:13 ` 8139cp dma-debug warning Dave Jones
2009-08-13  5:20   ` David Miller
2009-08-13 13:45     ` Dave Jones
2009-08-13 19:23       ` Francois Romieu
2009-08-13 19:28         ` Dave Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090806215702.GA17555@redhat.com \
    --to=davej@redhat.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).