Re: hardware driver <-> gadget driver interaction (dwc otg, round 2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 23 Jan 2012, Sebastian Andrzej Siewior wrote:

> * Alan Stern | 2012-01-20 10:57:57 [-0500]:
> 
> >It may be that the best solution is for the composite.c driver to 
> >implement Set-Config and Set-Interface requests in a workqueue, so that 
> >the calls could be made in process context.  For now, you can avoid the 
> >problem by not calling dma_alloc_coherent in your endpoint-setup 
> >routine.
> 
> This sounds like a good idea. delayed_status, here we come.
> 
> >g_file_storage doesn't have this problem because it uses its own kernel
> >thread for handling these requests.
> It is not unique to this :) In general there is nothing wrong with doing
> "it" in IRQ context. The file storage gadge needs lot of memory and it
> is good not to use the emergency pools for that.

As Nikolai Zhubr and Paul Zimmerman pointed out, handling Set-Config
and Set-Interface in interrupt context sometimes _is_ wrong, i.e., when
disabling endpoints involves calling dma_free_coherent.  Apparently on
ARM this routine requires process context.

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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux