sh: Fixup TEI IRQ requests in request_dma().
If a channel is not TEI capable, don't try to request_irq().. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
e2d1864da5
commit
9e3043c091
|
@ -82,6 +82,9 @@ static int sh_dmac_request_dma(struct dma_channel *chan)
|
||||||
{
|
{
|
||||||
char name[32];
|
char name[32];
|
||||||
|
|
||||||
|
if (unlikely(!chan->flags & DMA_TEI_CAPABLE))
|
||||||
|
return 0;
|
||||||
|
|
||||||
snprintf(name, sizeof(name), "DMAC Transfer End (Channel %d)",
|
snprintf(name, sizeof(name), "DMAC Transfer End (Channel %d)",
|
||||||
chan->chan);
|
chan->chan);
|
||||||
|
|
||||||
|
@ -255,7 +258,7 @@ static int __init sh_dmac_init(void)
|
||||||
#ifdef CONFIG_CPU_SH4
|
#ifdef CONFIG_CPU_SH4
|
||||||
make_ipr_irq(DMAE_IRQ, DMA_IPR_ADDR, DMA_IPR_POS, DMA_PRIORITY);
|
make_ipr_irq(DMAE_IRQ, DMA_IPR_ADDR, DMA_IPR_POS, DMA_PRIORITY);
|
||||||
i = request_irq(DMAE_IRQ, dma_err, IRQF_DISABLED, "DMAC Address Error", 0);
|
i = request_irq(DMAE_IRQ, dma_err, IRQF_DISABLED, "DMAC Address Error", 0);
|
||||||
if (i < 0)
|
if (unlikely(i < 0))
|
||||||
return i;
|
return i;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -270,7 +273,7 @@ static int __init sh_dmac_init(void)
|
||||||
* been set.
|
* been set.
|
||||||
*/
|
*/
|
||||||
i = dmaor_reset();
|
i = dmaor_reset();
|
||||||
if (i < 0)
|
if (unlikely(i != 0))
|
||||||
return i;
|
return i;
|
||||||
|
|
||||||
return register_dmac(info);
|
return register_dmac(info);
|
||||||
|
|
Loading…
Reference in a new issue