public inbox for linux-sh@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] dmaengine: shdma: SH_DMAC_MAX_CHANNELS message fix
@ 2011-06-09  6:35 Magnus Damm
  0 siblings, 0 replies; only message in thread
From: Magnus Damm @ 2011-06-09  6:35 UTC (permalink / raw)
  To: linux-sh

From: Magnus Damm <damm@opensource.se>

Fix the recently added SH_DMAC_MAX_CHANNELS handling code in
300e5f9 dmaengine: shdma: Fix SH_DMAC_MAX_CHANNELS handling

Without this fix the shdma driver outputs silly messages in
case SH_DMAC_MAX_CHANNELS happens to match the platform data:

sh-dma-engine sh-dma-engine.0: Attempting to register 20 DMA channels when a max
imum of 20 are supported.            

Signed-off-by: Magnus Damm <damm@opensource.se>
---

 drivers/dma/shdma.c |   13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

--- 0001/drivers/dma/shdma.c
+++ work/drivers/dma/shdma.c	2011-05-27 18:42:06.000000000 +0900
@@ -1219,6 +1219,11 @@ static int __init sh_dmae_probe(struct p
 	} else {
 		do {
 			for (i = chanirq_res->start; i <= chanirq_res->end; i++) {
+				if (irq_cnt >= SH_DMAC_MAX_CHANNELS) {
+					irq_cap = 1;
+					break;
+				}
+
 				if ((errirq_res->flags & IORESOURCE_BITS) =
 				    IORESOURCE_IRQ_SHAREABLE)
 					chan_flag[irq_cnt] = IRQF_SHARED;
@@ -1228,15 +1233,11 @@ static int __init sh_dmae_probe(struct p
 					"Found IRQ %d for channel %d\n",
 					i, irq_cnt);
 				chan_irq[irq_cnt++] = i;
-
-				if (irq_cnt >= SH_DMAC_MAX_CHANNELS)
-					break;
 			}
 
-			if (irq_cnt >= SH_DMAC_MAX_CHANNELS) {
-				irq_cap = 1;
+			if (irq_cnt >= SH_DMAC_MAX_CHANNELS)
 				break;
-			}
+
 			chanirq_res = platform_get_resource(pdev,
 						IORESOURCE_IRQ, ++irqres);
 		} while (irq_cnt < pdata->channel_num && chanirq_res);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2011-06-09  6:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-09  6:35 [PATCH] dmaengine: shdma: SH_DMAC_MAX_CHANNELS message fix Magnus Damm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox