Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754287AbaBUXSj (ORCPT ); Fri, 21 Feb 2014 18:18:39 -0500 Received: from mail-ob0-f169.google.com ([209.85.214.169]:40716 "EHLO mail-ob0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753282AbaBUXSg (ORCPT ); Fri, 21 Feb 2014 18:18:36 -0500 MIME-Version: 1.0 In-Reply-To: <53070393.5020005@linux.intel.com> References: <1388707565-16535-1-git-send-email-yinghai@kernel.org> <1388707565-16535-11-git-send-email-yinghai@kernel.org> <53070393.5020005@linux.intel.com> Date: Fri, 21 Feb 2014 15:18:36 -0800 X-Google-Sender-Auth: -RNzCSsT-O6PcbO5bebEyiCOM4I Message-ID: Subject: Re: [PATCH v5 10/33] iommu, irq: Allocate irq_desc for dmar_msi with local node From: Yinghai Lu To: Jiang Liu Cc: Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Tony Luck , Bjorn Helgaas , "Rafael J. Wysocki" , "linux-pci@vger.kernel.org" , Linux Kernel Mailing List , ACPI Devel Maling List , Joerg Roedel , Donald Dutile , Sebastian Andrzej Siewior , "stable@vger.kernel.org" Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 20, 2014 at 11:43 PM, Jiang Liu wrote: > > > On 2014/1/3 8:05, Yinghai Lu wrote: >> iommu irq's irq_desc should be on local node ram. >> >> Fix the return value checking problem. >> create_irq() will return -1 when fail to allocate. >> create_irq_nr() will return 0 when fail to allocate. >> here only check !irq, so need to change it to use create_irq_nr instead. >> >> -v2: According to Sebastian, add cc to stable. >> >> Signed-off-by: Yinghai Lu >> Cc: Joerg Roedel >> Cc: Donald Dutile >> Acked-by: Donald Dutile >> Cc: Sebastian Andrzej Siewior >> Cc: stable@vger.kernel.org >> --- >> drivers/iommu/dmar.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c >> index 8b452c9..f4eaa50 100644 >> --- a/drivers/iommu/dmar.c >> +++ b/drivers/iommu/dmar.c >> @@ -1277,7 +1277,7 @@ int dmar_set_interrupt(struct intel_iommu *iommu) >> if (iommu->irq) >> return 0; >> >> - irq = create_irq(); >> + irq = create_irq_nr(0, iommu->node); > Hi Yinghai, > How about create_irq_nrq(1, iommu->node) here to clearly state > that 0 is not a valid irq number for dmar here? Should be the same. that 0 or 1 will be from in __create_irqs(). And we have if (from < nr_irqs_gsi) from = nr_irqs_gsi; in __create_irqs(). Thanks Yinghai -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/