[media] redrat3: ensure dma is setup properly
authorSean Young <sean@mess.org>
Mon, 1 Dec 2014 08:48:16 +0000 (05:48 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Thu, 4 Dec 2014 17:28:53 +0000 (15:28 -0200)
This fixes the driver on arm.

Reported-by: Steven Guitton <keltiek@gmail.com>
Tested-by: Steven Guitton <keltiek@gmail.com>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/rc/redrat3.c

index 795b394a5d847367db0d41cc167557adc19245e5..c4def66f9aa2cac019a6abd9bc2070644fe8a42a 100644 (file)
@@ -966,7 +966,7 @@ static int redrat3_dev_probe(struct usb_interface *intf,
 
        rr3->ep_in = ep_in;
        rr3->bulk_in_buf = usb_alloc_coherent(udev,
-               le16_to_cpu(ep_in->wMaxPacketSize), GFP_ATOMIC, &rr3->dma_in);
+               le16_to_cpu(ep_in->wMaxPacketSize), GFP_KERNEL, &rr3->dma_in);
        if (!rr3->bulk_in_buf) {
                dev_err(dev, "Read buffer allocation failure\n");
                goto error;
@@ -975,6 +975,8 @@ static int redrat3_dev_probe(struct usb_interface *intf,
        pipe = usb_rcvbulkpipe(udev, ep_in->bEndpointAddress);
        usb_fill_bulk_urb(rr3->read_urb, udev, pipe, rr3->bulk_in_buf,
                le16_to_cpu(ep_in->wMaxPacketSize), redrat3_handle_async, rr3);
+       rr3->read_urb->transfer_dma = rr3->dma_in;
+       rr3->read_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
 
        rr3->ep_out = ep_out;
        rr3->udev = udev;
This page took 0.030718 seconds and 5 git commands to generate.