Messages in this thread Patch in this message | | | Date | Wed, 10 Sep 2008 18:12:26 +0200 | From | roel kluin <> | Subject | [PATCH] V4L/DVB: pxa-camera: Unsigned dma_chans[] cannot be negative |
| |
Unsigned dma_chans[] cannot be negative
Note that also the third time dma_chans[0] < 0 was tested instead of dma_chans[2]
Signed-off-by: Roel Kluin <roel.kluin@gmail.com> --- diff --git a/drivers/media/video/pxa_camera.c b/drivers/media/video/pxa_camera.c index ead87dd..950a2d4 100644 --- a/drivers/media/video/pxa_camera.c +++ b/drivers/media/video/pxa_camera.c @@ -1078,7 +1078,7 @@ static int pxa_camera_probe(struct platform_device *pdev) struct pxa_camera_dev *pcdev; struct resource *res; void __iomem *base; - int irq; + int irq, retval; int err = 0; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); @@ -1144,31 +1144,34 @@ static int pxa_camera_probe(struct platform_device *pdev) pcdev->dev = &pdev->dev; /* request dma */ - pcdev->dma_chans[0] = pxa_request_dma("CI_Y", DMA_PRIO_HIGH, + retval = pxa_request_dma("CI_Y", DMA_PRIO_HIGH, pxa_camera_dma_irq_y, pcdev); - if (pcdev->dma_chans[0] < 0) { + if (retval < 0) { dev_err(pcdev->dev, "Can't request DMA for Y\n"); err = -ENOMEM; goto exit_iounmap; } + pcdev->dma_chans[0] = retval; dev_dbg(pcdev->dev, "got DMA channel %d\n", pcdev->dma_chans[0]); - pcdev->dma_chans[1] = pxa_request_dma("CI_U", DMA_PRIO_HIGH, + retval = pxa_request_dma("CI_U", DMA_PRIO_HIGH, pxa_camera_dma_irq_u, pcdev); - if (pcdev->dma_chans[1] < 0) { + if (retval < 0) { dev_err(pcdev->dev, "Can't request DMA for U\n"); err = -ENOMEM; goto exit_free_dma_y; } + pcdev->dma_chans[1] = retval; dev_dbg(pcdev->dev, "got DMA channel (U) %d\n", pcdev->dma_chans[1]); - pcdev->dma_chans[2] = pxa_request_dma("CI_V", DMA_PRIO_HIGH, + retval = pxa_request_dma("CI_V", DMA_PRIO_HIGH, pxa_camera_dma_irq_v, pcdev); - if (pcdev->dma_chans[0] < 0) { + if (retval < 0) { dev_err(pcdev->dev, "Can't request DMA for V\n"); err = -ENOMEM; goto exit_free_dma_u; } + pcdev->dma_chans[2] = retval; dev_dbg(pcdev->dev, "got DMA channel (V) %d\n", pcdev->dma_chans[2]); DRCMR68 = pcdev->dma_chans[0] | DRCMR_MAPVLD;
| |