From: Devin Heitmueller 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: v2.6.30-rc1~621^2~143 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=fadadb7d7ad1d6c09863fcf24f83e59f596201ed;p=~emulex%2Finfiniband.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 for providing sample ARM hardware that was experiencing the oops (tested on the at91rm9200 based LinuxStamp). Thanks to David Brownell for providing insight into the ARM memory architecture. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/video/au0828/au0828-video.c b/drivers/media/video/au0828/au0828-video.c index d3a388af46e..f7ad4958b94 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++) {