New: WARNING: at lib/dma-debug.c:539 check_sync+0xe9/0x341() (Not tainted)
Subsystems (2)
A message that is not in the archive (sent off-list or not yet received): [email protected]/
(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface).
Quoted 45 lines · On Sun, 29 Mar 2009 11:43:19 GMT [email protected] wrote:
http://bugzilla.kernel.org/show_bug.cgi?id=12969
Summary: WARNING: at lib/dma-debug.c:539 check_sync+0xe9/0x341() (Not tainted) Product: Drivers Version: 2.5 Platform: All OS/Version: Linux Tree: Fedora Status: NEW Severity: normal Priority: P1 Component: Network AssignedTo: [email protected] ReportedBy: [email protected] Regression: Yes------------[ cut here ]------------ WARNING: at lib/dma-debug.c:539 check_sync+0xe9/0x341() (Not tainted) Hardware name: HP Compaq nx6110 (PY501EA#AB9) b44 0000:02:0e.0: DMA-API: device driver tries to sync DMA memory it has not allocated [device address=0x0000000075941040] [size=1566 bytes] Modules linked in: llc bnep l2cap bluetooth autofs4 lm90 hwmon i2c_i801 sunrpcipv6
cpufreq_ondemandacpi_cpufrequinputsnd_intel8x0msnd_intel8x0snd_ac97_codecsnd_seq_dummyac97_bussnd_seq_osssnd_seq_midi_eventsnd_seqsnd_seq_devicesnd_pcm_osssnd_mixer_osssnd_pcmb44 ssbfirewire_ohcisnd_timeripw2200iTCO_wdtmiifirewire_coresndiTCO_vendor_supportlibipwyenta_socketcrc_itu_tlib80211rsrc_nonstaticsoundcoresnd_page_allocjoydev pcspkr wmiserio_rawata_genericpata_acpii915 drmi2c_algo_biti2c_corevideo output [last unloaded:scsi_wait_scan]
Pid: 2418, comm: S58ntpd Not tainted 2.6.29-16.fc10.i686.PAE #1Call Trace: [<c04396d1>] warn_slowpath+0x7c/0xbd [<c0457fe1>] ? register_lock_class+0x17/0x290 [<c0458d61>] ? mark_lock+0x1e/0x349 [<c0556448>] ? _raw_spin_unlock+0x74/0x78 [<c0458d61>] ? mark_lock+0x1e/0x349 [<c055a060>] ? check_sync+0x37/0x341 [<c055a112>] check_sync+0xe9/0x341 [<c0711245>] ? _spin_unlock_irqrestore+0x45/0x55 [<c04592db>] ? trace_hardirqs_on+0xb/0xd [<c055a4d1>] debug_dma_sync_single_for_device+0x2f/0x39 [<f828f722>] dma_sync_single_for_device+0x4a/0x59 [b44] [<f828f76f>] ssb_dma_sync_single_for_device+0x3e/0x48 [b44]
Quoted 8 lines
[<f8291d1e>] b44_recycle_rx+0x18c/0x196 [b44] [<f8291f9f>] b44_poll+0x277/0x3c0 [b44] [<c0687bb9>] net_rx_action+0xa1/0x1ca [<c043e30a>] __do_softirq+0x9d/0x154 [<c043e413>] do_softirq+0x52/0x7e [<c043e56f>] irq_exit+0x49/0x77 [<c040b22e>] do_IRQ+0x97/0xad [<c0409dac>] common_interrupt+0x2c/0x34
This would appear to be reporting a bug in b44's DMA API usage. See the newly-added documentation in Documentation/DMA-API.txt, starting with
Part III - Debug drivers use of the DMA-API
The line numbers have changed, but it is:
err_printk(ref->dev, NULL, "DMA-API: device driver tries " "to free DMA memory it has not allocated " "[device address=0x%016llx] [size=%llu bytes]\n", ref->dev_addr, ref->size);
Quoted 60 lines · Andrew Morton
(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface).
Quoted 45 lines · On Sun, 29 Mar 2009 11:43:19 GMT [email protected] wrote:
http://bugzilla.kernel.org/show_bug.cgi?id=12969
Summary: WARNING: at lib/dma-debug.c:539 check_sync+0xe9/0x341() (Not tainted) Product: Drivers Version: 2.5 Platform: All OS/Version: Linux Tree: Fedora Status: NEW Severity: normal Priority: P1 Component: Network AssignedTo: [email protected] ReportedBy: [email protected] Regression: Yes------------[ cut here ]------------ WARNING: at lib/dma-debug.c:539 check_sync+0xe9/0x341() (Not tainted) Hardware name: HP Compaq nx6110 (PY501EA#AB9) b44 0000:02:0e.0: DMA-API: device driver tries to sync DMA memory it has not allocated [device address=0x0000000075941040] [size=1566 bytes] Modules linked in: llc bnep l2cap bluetooth autofs4 lm90 hwmon i2c_i801 sunrpcipv6
cpufreq_ondemandacpi_cpufrequinputsnd_intel8x0msnd_intel8x0snd_ac97_codecsnd_seq_dummyac97_bussnd_seq_osssnd_seq_midi_eventsnd_seqsnd_seq_devicesnd_pcm_osssnd_mixer_osssnd_pcmb44 ssbfirewire_ohcisnd_timeripw2200iTCO_wdtmiifirewire_coresndiTCO_vendor_supportlibipwyenta_socketcrc_itu_tlib80211rsrc_nonstaticsoundcoresnd_page_allocjoydev pcspkr wmiserio_rawata_genericpata_acpii915 drmi2c_algo_biti2c_corevideo output [last unloaded:scsi_wait_scan]
Pid: 2418, comm: S58ntpd Not tainted 2.6.29-16.fc10.i686.PAE #1Call Trace: [<c04396d1>] warn_slowpath+0x7c/0xbd [<c0457fe1>] ? register_lock_class+0x17/0x290 [<c0458d61>] ? mark_lock+0x1e/0x349 [<c0556448>] ? _raw_spin_unlock+0x74/0x78 [<c0458d61>] ? mark_lock+0x1e/0x349 [<c055a060>] ? check_sync+0x37/0x341 [<c055a112>] check_sync+0xe9/0x341 [<c0711245>] ? _spin_unlock_irqrestore+0x45/0x55 [<c04592db>] ? trace_hardirqs_on+0xb/0xd [<c055a4d1>] debug_dma_sync_single_for_device+0x2f/0x39 [<f828f722>] dma_sync_single_for_device+0x4a/0x59 [b44] [<f828f76f>] ssb_dma_sync_single_for_device+0x3e/0x48 [b44]Quoted 8 lines
[<f8291d1e>] b44_recycle_rx+0x18c/0x196 [b44] [<f8291f9f>] b44_poll+0x277/0x3c0 [b44] [<c0687bb9>] net_rx_action+0xa1/0x1ca [<c043e30a>] __do_softirq+0x9d/0x154 [<c043e413>] do_softirq+0x52/0x7e [<c043e56f>] irq_exit+0x49/0x77 [<c040b22e>] do_IRQ+0x97/0xad [<c0409dac>] common_interrupt+0x2c/0x34
Quoted 1 line
This would appear to be reporting a bug in b44's DMA API usage.
Hi!, are you saying that could be a bug in new DMA-API ? (if we have one)
I don't had problems before with this b44 and laptop is not new. With kernel 2.6.29, I am testing KMS on new drm/dri Intel video, I also have one big warning with i915 reported on
Bug 12419 - possible circular locking dependency on i915 dma.
What I would like to know is :
Could bug 12419 make this warning on b44 ? or could DMA-API make the 2 warnings ? or the 2 warnings are completed different ? and the combinations of this questions :)
Thanks,
Quoted 14 lines
See
the newly-added documentation inDocumentation/DMA-API.txt, starting withPart III - Debug drivers use of the DMA-API
The line numbers have changed, but it is:
err_printk(ref->dev, NULL, "DMA-API: device driver tries " "to free DMA memory it has not allocated " "[device address=0x%016llx] [size=%llu bytes]\n", ref->dev_addr, ref->size);
Signature · 1 line
Sérgio M. B.
Quoted 36 lines · Sergio Monteiro Basto
Quoted 36 lines
Quoted 35 lines
------------[ cut here ]------------ WARNING: at lib/dma-debug.c:539 check_sync+0xe9/0x341() (Not tainted) Hardware name: HP Compaq nx6110 (PY501EA#AB9) b44 0000:02:0e.0: DMA-API: device driver tries to sync DMA memory it has not allocated [device address=0x0000000075941040] [size=1566 bytes] Modules linked in: llc bnep l2cap bluetooth autofs4 lm90 hwmon i2c_i801 sunrpcipv6
cpufreq_ondemandacpi_cpufrequinputsnd_intel8x0msnd_intel8x0snd_ac97_codecsnd_seq_dummyac97_bussnd_seq_osssnd_seq_midi_eventsnd_seqsnd_seq_devicesnd_pcm_osssnd_mixer_osssnd_pcmb44 ssbfirewire_ohcisnd_timeripw2200iTCO_wdtmiifirewire_coresndiTCO_vendor_supportlibipwyenta_socketcrc_itu_tlib80211rsrc_nonstaticsoundcoresnd_page_allocjoydev pcspkr wmiserio_rawata_genericpata_acpii915 drmi2c_algo_biti2c_corevideo output [last unloaded:scsi_wait_scan]
Pid: 2418, comm: S58ntpd Not tainted 2.6.29-16.fc10.i686.PAE #1Call Trace: [<c04396d1>] warn_slowpath+0x7c/0xbd [<c0457fe1>] ? register_lock_class+0x17/0x290 [<c0458d61>] ? mark_lock+0x1e/0x349 [<c0556448>] ? _raw_spin_unlock+0x74/0x78 [<c0458d61>] ? mark_lock+0x1e/0x349 [<c055a060>] ? check_sync+0x37/0x341 [<c055a112>] check_sync+0xe9/0x341 [<c0711245>] ? _spin_unlock_irqrestore+0x45/0x55 [<c04592db>] ? trace_hardirqs_on+0xb/0xd [<c055a4d1>] debug_dma_sync_single_for_device+0x2f/0x39 [<f828f722>] dma_sync_single_for_device+0x4a/0x59 [b44] [<f828f76f>] ssb_dma_sync_single_for_device+0x3e/0x48 [b44] [<f8291d1e>] b44_recycle_rx+0x18c/0x196 [b44] [<f8291f9f>] b44_poll+0x277/0x3c0 [b44] [<c0687bb9>] net_rx_action+0xa1/0x1ca [<c043e30a>] __do_softirq+0x9d/0x154 [<c043e413>] do_softirq+0x52/0x7e [<c043e56f>] irq_exit+0x49/0x77 [<c040b22e>] do_IRQ+0x97/0xad [<c0409dac>] common_interrupt+0x2c/0x34
Quoted 4 lines
Quoted 1 line
This would appear to be reporting a bug in b44's DMA API usage.
Hi!, are you saying that could be a bug in new DMA-API ? (if we have one)
We don't have a new DMA-API. I wrote a piece of code which checks if drivers use the DMA-API as expected.
Quoted 1 line
I don't had problems before with this b44 and laptop is not new.
Most things we check for typically have no impact when there is no hardware IOMMU. The purpose of this debugging code is to find those bugs even without an hardware IOMMU in the system.
Quoted 8 lines
With kernel 2.6.29, I am testing KMS on new drm/dri Intel video, I also have one big warning with i915 reported on
Bug 12419 - possible circular locking dependency on i915 dma.What I would like to know is :
Could bug 12419 make this warning on b44 ? or could DMA-API make the 2 warnings ? or the 2 warnings are completed different ? and the combinations of this questions :)
It is hard to imagine that these two bugs have something to do with each other. The bugzilla entry is a warning about a locking problem and the DMA-API debugging code warns about wrong usage of the DMA-API.
Joerg
Signature · 6 lines
| Advanced Micro Devices GmbH
Operating | Karl-Hammerschmidt-Str. 34, 85609 Dornach bei München
System |
Research | Geschäftsführer: Jochen Polster, Thomas M. McCoy, Giuliano Meroni
Center | Sitz: Dornach, Gemeinde Aschheim, Landkreis München
| Registergericht München, HRB Nr. 43632A message that is not in the archive (sent off-list or not yet received): 66E4AD309580E34AA457975F33D2A7473FBC6A35EE@IRVEXCHCCR01.corp.ad.broadcom.com
Quoted 27 lines
Quoted 27 lines
------------[ cut here ]------------ WARNING: at lib/dma-debug.c:539 check_sync+0xe9/0x341() (Not tainted) Hardware name: HP Compaq nx6110 (PY501EA#AB9) b44 0000:02:0e.0: DMA-API: device driver tries to sync DMA memory it has not allocated [device address=0x0000000075941040] [size=1566 bytes] Modules linked in: llc bnep l2cap bluetooth autofs4 lm90 hwmon i2c_i801 sunrpcipv6
cpufreq_ondemandacpi_cpufrequinputsnd_intel8x0msnd_intel8x0snd_ac97_codecsnd_seq_dummyac97_bussnd_seq_osssnd_seq_midi_eventsnd_seqsnd_seq_devicesnd_pcm_osssnd_mixer_osssnd_pcmb44 ssbfirewire_ohcisnd_timeripw2200iTCO_wdtmiifirewire_coresndiTCO_vendor_supportlibipwyenta_socketcrc_itu_tlib80211rsrc_nonstaticsoundcoresnd_page_allocjoydev pcspkr wmiserio_rawata_genericpata_acpii915 drmi2c_algo_biti2c_corevideo output [last unloaded:scsi_wait_scan]
Pid: 2418, comm: S58ntpd Not tainted 2.6.29-16.fc10.i686.PAE #1Call Trace: [<c04396d1>] warn_slowpath+0x7c/0xbd [<c0457fe1>] ? register_lock_class+0x17/0x290 [<c0458d61>] ? mark_lock+0x1e/0x349 [<c0556448>] ? _raw_spin_unlock+0x74/0x78 [<c0458d61>] ? mark_lock+0x1e/0x349 [<c055a060>] ? check_sync+0x37/0x341 [<c055a112>] check_sync+0xe9/0x341 [<c0711245>] ? _spin_unlock_irqrestore+0x45/0x55 [<c04592db>] ? trace_hardirqs_on+0xb/0xd [<c055a4d1>] debug_dma_sync_single_for_device+0x2f/0x39 [<f828f722>] dma_sync_single_for_device+0x4a/0x59 [b44] [<f828f76f>] ssb_dma_sync_single_for_device+0x3e/0x48 [b44]
Quoted 8 lines
Quoted 8 lines
[<f8291d1e>] b44_recycle_rx+0x18c/0x196 [b44] [<f8291f9f>] b44_poll+0x277/0x3c0 [b44] [<c0687bb9>] net_rx_action+0xa1/0x1ca [<c043e30a>] __do_softirq+0x9d/0x154 [<c043e413>] do_softirq+0x52/0x7e [<c043e56f>] irq_exit+0x49/0x77 [<c040b22e>] do_IRQ+0x97/0xad [<c0409dac>] common_interrupt+0x2c/0x34
I don't know if this is related, but the following patch seems to fix some DMA mapping bug. Can somebody comment who does understand the code better than me?
(completely untested)
drivers/net/b44.c +3 -3
@@ -703,7 +703,7 @@ static int b44_alloc_rx_skb(struct b44 *if (bp->flags &B44_FLAG_RX_RING_HACK )b44_sync_dma_desc_for_device (bp->sdev, bp->rx_ring_dma, - dest_idx *sizeof (dp), + dest_idx *sizeof (*dp),DMA_BIDIRECTIONAL );return RX_PKT_BUF_SZ ;
@@ -731,7 +731,7 @@ static void b44_recycle_rx(struct b44 *bif (bp->flags &B44_FLAG_RX_RING_HACK )b44_sync_dma_desc_for_cpu (bp->sdev, bp->rx_ring_dma, - src_idx *sizeof (src_desc), + src_idx *sizeof (*src_desc),DMA_BIDIRECTIONAL ); ctrl = src_desc->ctrl;
@@ -747,7 +747,7 @@ static void b44_recycle_rx(struct b44 *bif (bp->flags &B44_FLAG_RX_RING_HACK )b44_sync_dma_desc_for_device (bp->sdev, bp->rx_ring_dma, - dest_idx *sizeof (dest_desc), + dest_idx *sizeof (*dest_desc),DMA_BIDIRECTIONAL ); ssb_dma_sync_single_for_device(bp->sdev, le32_to_cpu(src_desc->addr),
Signature · 1 line
Greetings, Michael.
+ b44-use-kernel-dma-addresses-for-the-kernel-dma-api.patch added to -mm tree
fixes the bug for me
Thanks,
Quoted 105 lines · Andrew Morton
Quoted 18 lines · On Sun, 29 Mar 2009 11:43:19 GMT [email protected] wrote:
http://bugzilla.kernel.org/show_bug.cgi?id=12969
Summary: WARNING: at lib/dma-debug.c:539 check_sync+0xe9/0x341() (Not tainted) Product: Drivers Version: 2.5 Platform: All OS/Version: Linux Tree: Fedora Status: NEW Severity: normal Priority: P1 Component: Network AssignedTo: [email protected] ReportedBy: [email protected] Regression: YesQuoted 1 line
------------[ cut
here ]------------
Quoted 1 line
WARNING: at lib/dma-debug.c:539 check_sync+0xe9/0x341() (Nottainted)
Quoted 1 line
Hardware name: HP Compaq nx6110(PY501EA#AB9)
Quoted 1 line
b44 0000:02:0e.0: DMA-API: device driver tries to sync DMA memory it
has not
Quoted 2 lines
allocated [device address=0x0000000075941040] [size=1566 bytes]
Modules linked in: llc bnep l2cap bluetooth autofs4 lm90 hwmon
i2c_i801sunrpcQuoted 2 lines
ipv6
cpufreq_ondemandacpi_cpufrequinputsnd_intel8x0msnd_intel8x0snd_ac97_codecsnd_seq_dummyac97_bussnd_seq_osssnd_seq_midi_event
snd_seqQuoted 1 line
snd_seq_devicesnd_pcm_osssnd_mixer_osssnd_pcmb44 ssb
firewire_ohciQuoted 1 line
snd_timeripw2200iTCO_wdtmiifirewire_coresndiTCO_vendor_supportlibipw
Quoted 1 line
yenta_socketcrc_itu_tlib80211rsrc_nonstaticsoundcore
snd_page_allocjoydevQuoted 1 line
pcspkr wmi
serio_rawata_genericpata_acpii915 drmi2c_algo_bit
i2c_corevideoQuoted 1 line
output [last unloaded:
scsi_wait_scan]Quoted 1 line
Pid: 2418, comm: S58ntpd Not tainted 2.6.29-16.fc10.i686.PAE
#1
Quoted 1 line
Call
Trace:
Quoted 1 line
[<
c04396d1>]warn_slowpath+0x7c/0xbd
Quoted 1 line
[<
c0457fe1>] ?register_lock_class+0x17/0x290
Quoted 1 line
[<
c0458d61>] ?mark_lock+0x1e/0x349
Quoted 1 line
[<
c0556448>] ?_raw_spin_unlock+0x74/0x78
Quoted 1 line
[<
c0458d61>] ?mark_lock+0x1e/0x349
Quoted 1 line
[<
c055a060>] ?check_sync+0x37/0x341
Quoted 1 line
[<
c055a112>]check_sync+0xe9/0x341
Quoted 1 line
[<
c0711245>] ?_spin_unlock_irqrestore+0x45/0x55
Quoted 1 line
[<
c04592db>] ?trace_hardirqs_on+0xb/0xd
Quoted 1 line
[<
c055a4d1>]debug_dma_sync_single_for_device+0x2f/0x39
Quoted 1 line
[<
f828f722>]dma_sync_single_for_device+0x4a/0x59[b44]
Quoted 1 line
[<
f828f76f>]ssb_dma_sync_single_for_device+0x3e/0x48[b44]
Quoted 1 line
[<
f8291d1e>]b44_recycle_rx+0x18c/0x196[b44]
Quoted 1 line
[<
f8291f9f>]b44_poll+0x277/0x3c0[b44]
Quoted 1 line
[<
c0687bb9>]net_rx_action+0xa1/0x1ca
Quoted 1 line
[<
c043e30a>]__do_softirq+0x9d/0x154
Quoted 1 line
[<
c043e413>]do_softirq+0x52/0x7e
Quoted 1 line
[<
c043e56f>]irq_exit+0x49/0x77
Quoted 1 line
[<
c040b22e>]do_IRQ+0x97/0xad
Quoted 1 line
[<
c0409dac>]common_interrupt+0x2c/0x34
This would appear to be reporting a bug in b44's DMA API usage. See the newly-added documentation in
Documentation/DMA-API.txt, starting withPart III - Debug drivers use of the DMA-API
The line numbers have changed, but it is:
err_printk(ref->dev, NULL, "DMA-API: device drivertries "
"to free DMA memory it has not allocated " "[device address=0x%016llx] [size=%llu
bytes]\n",ref->dev_addr, ref->size);
Signature · 1 line
Sérgio M. B.
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): 66E4AD309580E34AA457975F33D2A7473FBC6A3626@IRVEXCHCCR01.corp.ad.broadcom.com
Subject: [PATCH] b44: Use kernel DMA addresses for the kernel DMA API
We must not use the device DMA addresses for the kernel DMA API, because device DMA addresses have an additional offset added for the SSB translation.
Use the original dma_addr_t for the sync operation.
---
I could reproduce the bug on my b44 card and this patch fixes it. Please apply the patch and close the bug. Thanks.
drivers/net/b44.c +1 -1
@@ -750,7 +750,7 @@ dest_idx *sizeof (*dest_desc), DMA_BIDIRECTIONAL); -ssb_dma_sync_single_for_device (bp->sdev,le32_to_cpu (src_desc->addr), +ssb_dma_sync_single_for_device (bp->sdev, dest_map->mapping,RX_PKT_BUF_SZ ,DMA_FROM_DEVICE ); }
Signature · 1 line
Greetings, Michael.