diff options
| -rw-r--r-- | arch/sh/drivers/dma/dma-sh.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/arch/sh/drivers/dma/dma-sh.c b/arch/sh/drivers/dma/dma-sh.c index 4428ee809651..40a480d20aaf 100644 --- a/arch/sh/drivers/dma/dma-sh.c +++ b/arch/sh/drivers/dma/dma-sh.c | |||
| @@ -82,6 +82,9 @@ static int sh_dmac_request_dma(struct dma_channel *chan) | |||
| 82 | { | 82 | { | 
| 83 | char name[32]; | 83 | char name[32]; | 
| 84 | 84 | ||
| 85 | if (unlikely(!chan->flags & DMA_TEI_CAPABLE)) | ||
| 86 | return 0; | ||
| 87 | |||
| 85 | snprintf(name, sizeof(name), "DMAC Transfer End (Channel %d)", | 88 | snprintf(name, sizeof(name), "DMAC Transfer End (Channel %d)", | 
| 86 | chan->chan); | 89 | chan->chan); | 
| 87 | 90 | ||
| @@ -255,7 +258,7 @@ static int __init sh_dmac_init(void) | |||
| 255 | #ifdef CONFIG_CPU_SH4 | 258 | #ifdef CONFIG_CPU_SH4 | 
| 256 | make_ipr_irq(DMAE_IRQ, DMA_IPR_ADDR, DMA_IPR_POS, DMA_PRIORITY); | 259 | make_ipr_irq(DMAE_IRQ, DMA_IPR_ADDR, DMA_IPR_POS, DMA_PRIORITY); | 
| 257 | i = request_irq(DMAE_IRQ, dma_err, IRQF_DISABLED, "DMAC Address Error", 0); | 260 | i = request_irq(DMAE_IRQ, dma_err, IRQF_DISABLED, "DMAC Address Error", 0); | 
| 258 | if (i < 0) | 261 | if (unlikely(i < 0)) | 
| 259 | return i; | 262 | return i; | 
| 260 | #endif | 263 | #endif | 
| 261 | 264 | ||
| @@ -270,7 +273,7 @@ static int __init sh_dmac_init(void) | |||
| 270 | * been set. | 273 | * been set. | 
| 271 | */ | 274 | */ | 
| 272 | i = dmaor_reset(); | 275 | i = dmaor_reset(); | 
| 273 | if (i < 0) | 276 | if (unlikely(i != 0)) | 
| 274 | return i; | 277 | return i; | 
| 275 | 278 | ||
| 276 | return register_dmac(info); | 279 | return register_dmac(info); | 
