From: Devin Heitmueller <dheitmueller@linuxtv.org> Date: Mon, 23 Mar 2009 02:42:26 +0000 (-0300) Subject: V4L/DVB (11142): au0828: fix oops on ARM platform when allocating transfer buffers X-Git-Tag: firefly_0821_release~15196^2~143 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=fadadb7d7ad1d6c09863fcf24f83e59f596201ed;p=firefly-linux-kernel-4.4.55.git V4L/DVB (11142): au0828: fix oops on ARM platform when allocating transfer buffers Add missing URB_NO_TRANSFER_DMA_MAP flag, since the use of consistent memory is not permitted for DMA on the ARM platform. Thanks to Paul Thomas <pthomas8589@gmail.com> for providing sample ARM hardware that was experiencing the oops (tested on the at91rm9200 based LinuxStamp). Thanks to David Brownell <david-b@pacbell.net> for providing insight into the ARM memory architecture. Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> --- diff --git a/drivers/media/video/au0828/au0828-video.c b/drivers/media/video/au0828/au0828-video.c index d3a388af46e7..f7ad4958b94e 100644 --- a/drivers/media/video/au0828/au0828-video.c +++ b/drivers/media/video/au0828/au0828-video.c @@ -267,7 +267,7 @@ int au0828_init_isoc(struct au0828_dev *dev, int max_packets, au0828_irq_callback, dma_q, 1); urb->number_of_packets = max_packets; - urb->transfer_flags = URB_ISO_ASAP; + urb->transfer_flags = URB_ISO_ASAP | URB_NO_TRANSFER_DMA_MAP; k = 0; for (j = 0; j < max_packets; j++) {