From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755476AbbHYIQN (ORCPT ); Tue, 25 Aug 2015 04:16:13 -0400 Received: from mail-pa0-f53.google.com ([209.85.220.53]:35306 "EHLO mail-pa0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755450AbbHYIQK convert rfc822-to-8bit (ORCPT ); Tue, 25 Aug 2015 04:16:10 -0400 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Subject: Re: [PATCH] dma/ipu: change ipu_irq_handler() to remove compile warning From: yalin wang In-Reply-To: Date: Tue, 25 Aug 2015 16:16:01 +0800 Cc: vinod.koul@intel.com, dan.j.williams@intel.com, robh@kernel.org, jiang.liu@linux.intel.com, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8BIT Message-Id: References: <1440489668-3139-1-git-send-email-yalin.wang2010@gmail.com> To: Thomas Gleixner X-Mailer: Apple Mail (2.2104) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > On Aug 25, 2015, at 16:07, Thomas Gleixner wrote: > > On Tue, 25 Aug 2015, yalin wang wrote: >> Change ipu_irq_handler() to avoid gcc warning: >> >> drivers/dma/ipu/ipu_irq.c:305:4: warning: 'irq' may be used >> uninitialized in this function [-Wmaybe-uninitialized] >> generic_handle_irq(irq); > > That's a false positive from GCC. irq is always initialized when > generic_handle_irq() is called. > >> Signed-off-by: yalin wang >> --- >> drivers/dma/ipu/ipu_irq.c | 6 ++---- >> 1 file changed, 2 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/dma/ipu/ipu_irq.c b/drivers/dma/ipu/ipu_irq.c >> index 7489d2a..1a74eee 100644 >> --- a/drivers/dma/ipu/ipu_irq.c >> +++ b/drivers/dma/ipu/ipu_irq.c >> @@ -286,23 +286,21 @@ static void ipu_irq_handler(unsigned int __irq, struct irq_desc *desc) >> raw_spin_unlock(&bank_lock); >> while ((line = ffs(status))) { >> struct ipu_irq_map *map; >> - unsigned int irq; >> >> line--; >> status &= ~(1UL << line); >> >> raw_spin_lock(&bank_lock); >> map = src2map(32 * i + line); >> - if (map) >> - irq = map->irq; >> raw_spin_unlock(&bank_lock); >> >> if (!map) { >> pr_err("IPU: Interrupt on unmapped source %u bank %d\n", >> line, i); >> continue; >> + } else { >> + generic_handle_irq(map->irq); > > So you change that from retrieving the irq number with bank lock held > to an unprotected access. i see, i will send a V2 patch .