On Tue, 19 Oct 2010, Oliver Neukum wrote: > Am Dienstag, 19. Oktober 2010, 18:12:52 schrieb Alan Stern: > > The problem is that usb-skeleton calls usb_free_coherent() in its > > skel_write_bulk_callback() routine. That indirectly calls > > dma_pool_free(), which for some strange reason doesn't like to run > > in_interrupt. > > I suppose it needs to do IPIs and wait for answers. > > > usb-skeleton probably should not use a coherent buffer. There's no > > good reason for it. > > Among other things it should be an example. If this is easy to get wrong, we > should come up with a correct solution. Examples can be arbitrarily complicated. But a complicated example defeats the purpose of helping people learn how to write a driver. Most drivers should not use coherent buffers. If you want to create an example showing how to use them, go ahead -- but I think usb-skeleton is not the appropriate place for it. usb-skeleton should simply use kmalloc. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html