From patchwork Sat Jul 9 20:11:25 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 104015 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 232B01007D1 for ; Sun, 10 Jul 2011 06:12:06 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754602Ab1GIUL4 (ORCPT ); Sat, 9 Jul 2011 16:11:56 -0400 Received: from mail-pz0-f46.google.com ([209.85.210.46]:40681 "EHLO mail-pz0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754384Ab1GIULz (ORCPT ); Sat, 9 Jul 2011 16:11:55 -0400 Received: by pzk9 with SMTP id 9so2100723pzk.19 for ; Sat, 09 Jul 2011 13:11:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=qY6cRT665UCTqnirlDCXwC9Dq58KieFB73WzuxgPP5Q=; b=FmYSx74GBvpwXe6YK8rBs7yqRjDAeoyrKJx03HPY555E5wAd6KfHzSDhWPWVhgnYAH 9Q9PCDtmBTISD8ndVYktUE4Q7BBt3JwshYk6KkTvqp+5SJy2qBxbQXoBoan5FUMQm1zL qCm3VHnV5ZCVhtBgMz5loYEd3sAkKwZ47xT/c= Received: by 10.142.177.19 with SMTP id z19mr1136788wfe.7.1310242315111; Sat, 09 Jul 2011 13:11:55 -0700 (PDT) MIME-Version: 1.0 Received: by 10.143.77.20 with HTTP; Sat, 9 Jul 2011 13:11:25 -0700 (PDT) In-Reply-To: <20110703.223448.458910310802724750.davem@davemloft.net> References: <20110704142153O.fujita.tomonori@lab.ntt.co.jp> <20110703.223448.458910310802724750.davem@davemloft.net> From: Jim Cromie Date: Sat, 9 Jul 2011 14:11:25 -0600 Message-ID: Subject: Re: [PATCH] natsemi: silence dma-debug warnings To: David Miller Cc: fujita.tomonori@lab.ntt.co.jp, thockin@hockin.org, netdev@vger.kernel.org Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Sun, Jul 3, 2011 at 11:34 PM, David Miller wrote: > From: FUJITA Tomonori > Date: Mon, 4 Jul 2011 14:30:19 +0900 > >> This silences dma-debug warnings: >> >> https://lkml.org/lkml/2011/6/30/341 >  ... >> Reported-by: Jim Cromie >> Signed-off-by: FUJITA Tomonori >> Tested-by: Jim Cromie > > Applied, thanks! > I have since seen a similar warning on shutdown, heres a patch for it. theres one other callsite, but I havent seen the warning from it, will try to tickle it at some point. From 2d81b28645b22100271bdbe2d6859cb49a49166d Mon Sep 17 00:00:00 2001 From: Jim Cromie Date: Sat, 9 Jul 2011 11:44:38 -0600 Subject: [PATCH 1/3] natsemi: fix another dma-debug report commit 2fb83cd618be34546fb526a9051eceaa95517026 Author: FUJITA Tomonori Date: Sun Jul 3 22:34:29 2011 -0700 Above commit fixed previously reported warning, but I later noticed another one at shutdown. This commit fixes it. Theres one other callsite to pci_unmap_single, but I havent seen it report a problem, so havent included it here. ------------[ cut here ]------------ WARNING: at /home/jimc/projects/lx/linux-2.6/lib/dma-debug.c:820 check_unmap+0x1fe/0x56c() natsemi 0000:00:06.0: DMA-API: device driver frees DMA memory with different size [device address=0x0000000007356840] [map size=1538 bytes] [unmap size=1522 bytes] Modules linked in: bridge stp llc x_tables ipv6 pc87360 hwmon_vid scx200_hrt pc8736x_gpio scx200_gpio nsc_gpio scx200_acb i2c_core arc4 rtl8180 mac80211 eeprom_93cx6 cfg80211 pcspkr scx200 rfkill ide_gd_mod ide_pci_generic ohci_hcd usbcore sc1200 ide_core [last unloaded: ebtables] Pid: 3996, comm: ifconfig Not tainted 3.0.0-rc6-skc-dyndbg+ #104 Call Trace: [] warn_slowpath_common+0x4a/0x5f [] ? check_unmap+0x1fe/0x56c [] warn_slowpath_fmt+0x26/0x2a [] check_unmap+0x1fe/0x56c [] ? check_preempt_curr+0x5a/0x6a [] debug_dma_unmap_page+0x53/0x5b [] pci_unmap_single+0x4d/0x57 [] drain_rx+0x4e/0x74 [] netdev_close+0x103/0x1b8 [] ? spin_unlock_bh.clone.30+0x12/0x14 [] ? dev_deactivate_many+0xc1/0xef [] __dev_close_many+0x69/0x86 [] __dev_close+0x1f/0x2c [] __dev_change_flags+0x92/0x107 [] dev_change_flags+0x13/0x3f [] devinet_ioctl+0x248/0x4b3 [] ? dev_ioctl+0x50a/0x54c [] inet_ioctl+0x8e/0xa7 [] sock_ioctl+0x1b6/0x1da [] ? sock_fasync+0x61/0x61 [] do_vfs_ioctl+0x44d/0x47f [] ? do_page_fault+0x268/0x299 [] ? __put_cred+0x34/0x36 [] ? sys_faccessat+0x13e/0x14b [] sys_ioctl+0x2e/0x4a [] syscall_call+0x7/0xb ---[ end trace 7013a1bdac403e56 ]--- Signed-off-by: Jim Cromie --- drivers/net/natsemi.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c index 8f8b65a..e4bd202 100644 --- a/drivers/net/natsemi.c +++ b/drivers/net/natsemi.c @@ -2028,8 +2028,8 @@ static void drain_rx(struct net_device *dev) np->rx_ring[i].cmd_status = 0; np->rx_ring[i].addr = cpu_to_le32(0xBADF00D0); /* An invalid address. */ if (np->rx_skbuff[i]) { - pci_unmap_single(np->pci_dev, - np->rx_dma[i], buflen, + pci_unmap_single(np->pci_dev, np->rx_dma[i], + buflen + NATSEMI_PADDING, PCI_DMA_FROMDEVICE); dev_kfree_skb(np->rx_skbuff[i]); } -- 1.7.4.1