Thread (1 message) 1 message, 1 author, 2011-03-22

Re: [PATCH 0/6] get rid of on-stack dma buffers

From: Oliver Neukum <hidden>
Date: 2011-03-22 13:12:11
Also in: lkml

Am Dienstag, 22. März 2011, 14:08:17 schrieb Florian Mickler:
Am 22.03.2011 12:10 schrieb "Roedel, Joerg" [off-list ref]:
quoted
On Mon, Mar 21, 2011 at 05:03:15PM -0400, Florian Mickler wrote:
quoted
I guess (not verified), that the dma api takes sufficient precautions
to abort the dma transfer if a timeout happens.  So freeing _should_
not be an issue. (At least, I would expect big fat warnings everywhere
if that were the case)
Freeing is very well an issue. All you can expect from the DMA-API is to
give you a valid DMA handle for your device. But it can not prevent that
a device uses this handle after you returned it. You need to make sure
yourself that any pending DMA is canceled before calling kfree().
Does usb_control_msg do this? It waits for completion but takes also a
timeout parameter. I will recheck this once I'm home.
It uses usb_start_wait_urb() which upon a timeout kills the URB. The
buffer is unused after usb_control_msg() returns.

	HTH
		Oliver
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help