]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ENGR00232000: Fix "dmaengine: failed to get dma1chan0: (-22)" when boot
authorRobby Cai <R63905@freescale.com>
Fri, 2 Nov 2012 07:58:40 +0000 (15:58 +0800)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:13:20 +0000 (14:13 +0200)
commitef037bb885a2c9326eab1e2fea10c6bdce2bd0f5
tree271581085ec63f9094aaebca31a49d9f73460ee6
parent516827034ed1ea5b8fa7a1355edd38375145595a
ENGR00232000: Fix "dmaengine: failed to get dma1chan0: (-22)" when boot

The log from [MX6DL/S_SD]:
...
mxc_sdc_fb mxc_sdc_fb.1: register mxc display driver ldb
dmaengine: failed to get dma1chan0: (-22)
dmaengine: failed to get dma1chan1: (-22)
dmaengine: failed to get dma1chan2: (-22)
dmaengine: failed to get dma1chan3: (-22)
dmaengine: failed to get dma1chan4: (-22)
dmaengine: failed to get dma1chan5: (-22)
dmaengine: failed to get dma1chan6: (-22)
dmaengine: failed to get dma1chan7: (-22)
dmaengine: failed to get dma1chan8: (-22)
dmaengine: failed to get dma1chan9: (-22)
dmaengine: failed to get dma1chan10: (-22)
dmaengine: failed to get dma1chan11: (-22)
dmaengine: failed to get dma1chan12: (-22)
dmaengine: failed to get dma1chan13: (-22)
dmaengine: failed to get dma1chan14: (-22)
dmaengine: failed to get dma1chan15: (-22)
...

It happens when there are many DMA-engine drivers in the system and
dmaengine_get() is called. dmaengine_get() will call dma_chan_get(), which will
call device_alloc_chan_resources() literally on channels of available dma
drivers unless reach -ENODEV. device_alloc_chan_resources() is implemented
in the individual dma drivers, which could return -EINVAL rather than -ENODEV,
then the above messages print out (doesn't hurt, however).

Indeed, the dmaengine_get() and dmaengine_put() is not needed and thus removed.

Signed-off-by: Robby Cai <R63905@freescale.com>
drivers/dma/pxp/pxp_device.c