Prev: cris: gpio: do not call copy_to_user()/copy_from_user() while holding spinlocks
Next: when does a program become processed ? static void unknown_nmi_error
From: FUJITA Tomonori on 2 Aug 2010 08:00 CC'ed to dma-debug maintainer. On Mon, 02 Aug 2010 16:21:09 +0530 Subrata Modak <subrata(a)linux.vnet.ibm.com> wrote: > Hi, > > On boot, Badness at lib/dma-debug.c:902, Call Trace & Instruction Dump > are recorded at /var/log/messages: > > ================================================================ > udev: starting version 151 > ses 0:8:0:0: Attached Enclosure device > IBM eHEA ethernet device driver (Release EHEA_0105) > mlx4_core: Mellanox ConnectX core driver v0.01 (May 1, 2007) > mlx4_core: Initializing 0002:01:00.0 > mlx4_core 0002:01:00.0: enabling device (0140 -> 0142) > ehea: eth0: Jumbo frames are enabled > ehea: eth0 -> logical port id #1 > ehea: eth1: Jumbo frames are enabled > ehea: eth1 -> logical port id #2 > mlx4_core 0002:01:00.0: Requested 17 vectors, but only 8 MSI-X vectors > available, trying again > mlx4_core 0002:01:00.0: DMA-API: device driver tries to sync DMA memory it has > not allocated [device address=0x0000000060f22000] [size=4096 bytes] > ------------[ cut here ]------------ > Badness at lib/dma-debug.c:902 > NIP: c0000000003fdfa0 LR: c0000000003fdf9c CTR: 0000000000000001 > REGS: c000000f35bfad00 TRAP: 0700 Not tainted (2.6.35) > MSR: 8000000000029032 <EE,ME,CE,IR,DR> CR: 48002482 XER: 20000010 > TASK = c000000f35c08000[502] 'modprobe' THREAD: c000000f35bf8000 CPU: 8 > GPR00: c0000000003fdf9c c000000f35bfaf80 c000000001464c48 0000000000000096 > GPR04: 0000000000000001 c0000000000c19b0 0000000000000000 0000000000000002 > GPR08: 0000000000000000 c000000f35c08000 00000000000043b3 0000000000000001 > GPR12: 7669636520616464 c000000003fa5800 0000000000000000 0000000010016628 > GPR16: c000000f32a02000 c000000f32402000 c000000f33604648 c000000f35bfb1c0 > GPR20: c000000f38002120 0000000060f22000 0000000000000200 c000000001f4b000 > GPR24: 0000000000000001 0000000000000001 c000000001f47900 c000000f35bfb0b0 > GPR28: 0000000000000000 c000000f38002120 c0000000013eaea8 c000000f35bfaf80 > NIP [c0000000003fdfa0] .check_sync+0x108/0x52c > LR [c0000000003fdf9c] .check_sync+0x104/0x52c > Call Trace: > [c000000f35bfaf80] [c0000000003fdf9c] .check_sync+0x104/0x52c (unreliable) > [c000000f35bfb040] [c0000000003fe8d4] .debug_dma_sync_single_for_cpu+0x58/0x70 I guess that this driver does a partial sync with dma_sync_single_for_* API. dma-debug can't handle it properly. It's likely that this is a false warning. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Roedel, Joerg on 4 Aug 2010 09:20 On Mon, Aug 02, 2010 at 07:55:03AM -0400, FUJITA Tomonori wrote: > I guess that this driver does a partial sync with > dma_sync_single_for_* API. dma-debug can't handle it properly. It's > likely that this is a false warning. If this turns out to be true it is not trivial to fix. I prepare a patch to test for you. Joerg -- AMD Operating System Research Center Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach General Managers: Alberto Bozzo, Andrew Bowd Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: FUJITA Tomonori on 4 Aug 2010 10:20
On Wed, 4 Aug 2010 15:16:34 +0200 "Roedel, Joerg" <Joerg.Roedel(a)amd.com> wrote: > On Mon, Aug 02, 2010 at 07:55:03AM -0400, FUJITA Tomonori wrote: > > I guess that this driver does a partial sync with > > dma_sync_single_for_* API. dma-debug can't handle it properly. It's > > likely that this is a false warning. > > If this turns out to be true it is not trivial to fix. I prepare a patch > to test for you. I've not looked at the details of this driver, but there are drivers that do such. So dma-debug needs to be fixed anyway; you can't assume that a DMA address that dma_map_single returned is passed to dma_sync_single_for API. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |