lkml.org 
[lkml]   [2005]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectSuspected bug in floppy.c
Date
From

I think I may have uncovered a bug in the floppy driver while getting
it to work on Xen. The problem is that vfree() may get called in
softirq context, via the following backtrace:

vfree
fd_dma_mem_free
floppy_release_irq_and_dma
set_dor
motor_off_callback

On native i386, this would normally happen only if the driver has
entered virtual dma mode; usually it uses free_pages() which is safe
from irq context. On Xen we always PIO, so this triggered rather
easily. I'd have thought it would for architectures like m68k as well
(also only does virtual dma).

For now I'll fix it by doing __get_free_pages/free_pages, but I wonder
if the grab/release calls in floppy.c should be deferred on a work
queue or something like that?

-- Keir
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:11    [W:0.175 / U:0.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site