Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9e3043c0 authored by Paul Mundt's avatar Paul Mundt
Browse files

sh: Fixup TEI IRQ requests in request_dma().



If a channel is not TEI capable, don't try to request_irq()..

Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent e2d1864d
Loading
Loading
Loading
Loading
+5 −2
Original line number Original line Diff line number Diff line
@@ -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);