* Warning: sym53c8xx calls dma_free_coherent() with irqs disabled
@ 2008-01-22 18:19 Tony Battersby
2008-01-22 19:17 ` Matthew Wilcox
0 siblings, 1 reply; 2+ messages in thread
From: Tony Battersby @ 2008-01-22 18:19 UTC (permalink / raw)
To: linux-scsi, Matthew Wilcox
When unloading, sym53c8xx calls dma_free_coherent() while holding a
spinlock (sym53c8xx_lock) with irqs disabled, which produces the
following warning with 2.6.24:
modprobe sym53c8xx
modprobe -r sym53c8xx
sym0: detaching ...
sym0: resetting chip
WARNING: at arch/x86/kernel/pci-dma_32.c:66 dma_free_coherent()
Pid: 682, comm: rmmod Not tainted 2.6.24-rc8-git5 #1
[<c0107a05>] dma_free_coherent+0x95/0xa0
[<d0942066>] ___free_dma_mem_cluster+0x46/0x70 [sym53c8xx]
[<d0941f0d>] __sym_mfree+0x6d/0xc0 [sym53c8xx]
[<c010ec6c>] smp_call_function+0x1c/0x20
[<c01209c8>] on_each_cpu+0x28/0x40
[<d094232e>] __sym_mfree_dma+0x5e/0xb0 [sym53c8xx]
[<d093d510>] sym_hcb_free+0x70/0x170 [sym53c8xx]
[<d09389dc>] sym_free_resources+0x3c/0x70 [sym53c8xx]
[<d093a06c>] sym_detach+0x8c/0xb0 [sym53c8xx]
[<d093a0b9>] sym2_remove+0x29/0x50 [sym53c8xx]
[<c01d5316>] pci_device_remove+0x16/0x40
[<c0223498>] __device_release_driver+0x68/0xb0
[<c02239a4>] driver_detach+0xa4/0xb0
[<c0222f83>] bus_remove_driver+0x73/0xa0
[<c01d549e>] pci_unregister_driver+0xe/0x70
[<d0942dd0>] sym2_exit+0x0/0x7d [sym53c8xx]
[<d0942dda>] sym2_exit+0xa/0x7d [sym53c8xx]
[<c013e51b>] sys_delete_module+0x11b/0x1b0
[<c0112dd9>] do_page_fault+0xe9/0x640
[<c0154207>] do_munmap+0x197/0x1f0
[<c0102a7e>] sysenter_past_esp+0x5f/0x85
[<c02f0000>] __lro_proc_segment+0x130/0x300
=======================
However, everything does work OK at least on i386; the warning is for
portability to other archs (ARM and MIPS). This warning was added in
2.6.24-rc1, so the message does not appear in 2.6.23, although it is not
really a regression. This appears non-trivial to fix, since the
spinlock protects access to higher-level data structures.
Tony Battersby
Cybernetics
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Warning: sym53c8xx calls dma_free_coherent() with irqs disabled
2008-01-22 18:19 Warning: sym53c8xx calls dma_free_coherent() with irqs disabled Tony Battersby
@ 2008-01-22 19:17 ` Matthew Wilcox
0 siblings, 0 replies; 2+ messages in thread
From: Matthew Wilcox @ 2008-01-22 19:17 UTC (permalink / raw)
To: Tony Battersby; +Cc: linux-scsi
On Tue, Jan 22, 2008 at 01:19:09PM -0500, Tony Battersby wrote:
> When unloading, sym53c8xx calls dma_free_coherent() while holding a
> spinlock (sym53c8xx_lock) with irqs disabled, which produces the
> following warning with 2.6.24:
Ugh. I'm slightly torn. On the one hand, it's probably possible to
fix sym_malloc. On the other hand, it's really long past time that
sym2 dropped its custom allocator and started using dma pools.
I'll take a look at converting to dma pools once I've got half a dozen
other projects that're higher priority out of the way ;-(
In any case thanks for the report.
--
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-01-22 19:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-22 18:19 Warning: sym53c8xx calls dma_free_coherent() with irqs disabled Tony Battersby
2008-01-22 19:17 ` Matthew Wilcox
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).