From patchwork Thu Jan 26 20:58:40 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ira Snyder X-Patchwork-Id: 138050 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [IPv6:::1]) by ozlabs.org (Postfix) with ESMTP id 7A012100A7A for ; Fri, 27 Jan 2012 07:58:53 +1100 (EST) Received: from ovro.ovro.caltech.edu (ovro.ovro.caltech.edu [192.100.16.2]) by ozlabs.org (Postfix) with ESMTP id 1F26BB6EE8 for ; Fri, 27 Jan 2012 07:58:44 +1100 (EST) Received: from localhost.localdomain (rena.ovro.pvt [192.168.0.80]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ovro.ovro.caltech.edu (Postfix) with ESMTP id EF8E011C803F; Thu, 26 Jan 2012 12:58:41 -0800 (PST) From: "Ira W. Snyder" To: linuxppc-dev@lists.ozlabs.org Subject: [PATCH 1/1] fsldma: ignore end of segments interrupt Date: Thu, 26 Jan 2012 12:58:40 -0800 Message-Id: <1327611520-18256-1-git-send-email-iws@ovro.caltech.edu> X-Mailer: git-send-email 1.7.3.4 X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (ovro.ovro.caltech.edu); Thu, 26 Jan 2012 12:58:42 -0800 (PST) Cc: Dan Williams X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org The mpc8349ea has been observed to generate spurious end of segments interrupts despite the fact that they are not enabled by this driver. Check for them and ignore them to avoid a kernel error message. Signed-off-by: Ira W. Snyder Cc: Dan Williams --- drivers/dma/fsldma.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c index 8a78154..7dc9689 100644 --- a/drivers/dma/fsldma.c +++ b/drivers/dma/fsldma.c @@ -1052,6 +1052,16 @@ static irqreturn_t fsldma_chan_irq(int irq, void *data) stat &= ~FSL_DMA_SR_EOLNI; } + /* + * This driver does not use this feature, therefore we shouldn't + * ever see this bit set in the status register. However, it has + * been observed on MPC8349EA parts. + */ + if (stat & FSL_DMA_SR_EOSI) { + chan_dbg(chan, "irq: End-of-Segments INT\n"); + stat &= ~FSL_DMA_SR_EOSI; + } + /* check that the DMA controller is really idle */ if (!dma_is_idle(chan)) chan_err(chan, "irq: controller not idle!\n");