Re: [PATCH 09/16] [media] au6610: get rid of on-stack dma buffer

From: Antti Palosaari
Date: Fri Mar 18 2011 - 17:40:21 EST

On 03/18/2011 11:27 PM, Florian Mickler wrote:
On Fri, 18 Mar 2011 18:34:58 +0200
Antti Palosaari<crope@xxxxxx> wrote:

On 03/15/2011 10:43 AM, Florian Mickler wrote:
usb_control_msg initiates (and waits for completion of) a dma transfer using
the supplied buffer. That buffer thus has to be seperately allocated on
the heap.

In lib/dma_debug.c the function check_for_stack even warns about it:
WARNING: at lib/dma-debug.c:866 check_for_stack

Note: This change is tested to compile only, as I don't have the hardware.

Signed-off-by: Florian Mickler<florian@xxxxxxxxxxx>

This patch did not found from patchwork! Probably skipped due to broken
Cc at my contact. Please resend.

Anyhow, I tested and reviewed it.

Acked-by: Antti Palosaari<crope@xxxxxx>
Reviewed-by: Antti Palosaari<crope@xxxxxx>
Tested-by: Antti Palosaari<crope@xxxxxx>



Yes, there was some broken adressing on my side. Sorry.

Thanks for review&& test! I will resend (hopefully this weekend) the
series when I reviewed some of the other patches if it is
feasible/better to use prealocated memory as suggested by Mauro.

How often does au6610_usb_msg get called in normal operation? Should it
use preallocated memory?

It is called by demodulator and tuner drivers via I2C. One call per one register access. Tuner driver is qt1010 and demod driver is zl10353. When you perform tune to channel and device is in sleep there is maybe 100 or more calls. After channel is tuned as OK, application starts calling only some signalling statistics from demod, it is usually only few calls per sec.

On my experience I cannot say if it is wise to preallocate or not. Anyhow, this same apply for all DVB USB drivers.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at