Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031204AbbEEJRG (ORCPT ); Tue, 5 May 2015 05:17:06 -0400 Received: from terminus.zytor.com ([198.137.202.10]:48497 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1031081AbbEEJQ5 (ORCPT ); Tue, 5 May 2015 05:16:57 -0400 Date: Tue, 5 May 2015 02:15:30 -0700 From: tip-bot for Thomas Gleixner Message-ID: Cc: joro@8bytes.org, tglx@linutronix.de, bp@alien8.de, sivanich@sgi.com, david.a.cohen@linux.intel.com, bhelgaas@google.com, mingo@kernel.org, konrad.wilk@oracle.com, benh@kernel.crashing.org, david.vrabel@citrix.com, linux-kernel@vger.kernel.org, hpa@zytor.com, yinghai@kernel.org, tony.luck@intel.com, rdunlap@infradead.org, rjw@rjwysocki.net, jiang.liu@linux.intel.com, linux@eikelenboom.it, gregkh@linuxfoundation.org Reply-To: tglx@linutronix.de, joro@8bytes.org, sivanich@sgi.com, bp@alien8.de, david.a.cohen@linux.intel.com, benh@kernel.crashing.org, bhelgaas@google.com, konrad.wilk@oracle.com, mingo@kernel.org, hpa@zytor.com, tony.luck@intel.com, yinghai@kernel.org, david.vrabel@citrix.com, linux-kernel@vger.kernel.org, gregkh@linuxfoundation.org, jiang.liu@linux.intel.com, linux@eikelenboom.it, rdunlap@infradead.org, rjw@rjwysocki.net In-Reply-To: <1430707662-28598-2-git-send-email-jiang.liu@linux.intel.com> References: <1430707662-28598-2-git-send-email-jiang.liu@linux.intel.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:x86/apic] irq_remapping/vt-d: Init all MSI entries not just the first one Git-Commit-ID: 9d4c0313f24a05e5252e7106636bf3c5b6318f5d X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3280 Lines: 83 Commit-ID: 9d4c0313f24a05e5252e7106636bf3c5b6318f5d Gitweb: http://git.kernel.org/tip/9d4c0313f24a05e5252e7106636bf3c5b6318f5d Author: Thomas Gleixner AuthorDate: Mon, 4 May 2015 10:47:40 +0800 Committer: Thomas Gleixner CommitDate: Tue, 5 May 2015 11:14:48 +0200 irq_remapping/vt-d: Init all MSI entries not just the first one Commit b106ee63abcc ("irq_remapping/vt-d: Enhance Intel IR driver to support hierarchical irqdomains") caused a regression, which forgot to initialize remapping data structures other than the first entry when setting up remapping entries for multiple MSIs. [ Jiang: Commit message ] Fixes: b106ee63abcc ("irq_remapping/vt-d: Enhance Intel IR driver to support hierarchical irqdomains") Signed-off-by: Thomas Gleixner Signed-off-by: Jiang Liu Cc: Konrad Rzeszutek Wilk Cc: David Cohen Cc: Sander Eikelenboom Cc: David Vrabel Cc: Tony Luck Cc: Greg Kroah-Hartman Cc: iommu@lists.linux-foundation.org Cc: Bjorn Helgaas Cc: Benjamin Herrenschmidt Cc: Rafael J. Wysocki Cc: Randy Dunlap Cc: Yinghai Lu Cc: Borislav Petkov Cc: Dimitri Sivanich Cc: Joerg Roedel Link: http://lkml.kernel.org/r/1430707662-28598-2-git-send-email-jiang.liu@linux.intel.com Signed-off-by: Thomas Gleixner --- drivers/iommu/intel_irq_remapping.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/iommu/intel_irq_remapping.c b/drivers/iommu/intel_irq_remapping.c index 14d9569..7ecc6b3 100644 --- a/drivers/iommu/intel_irq_remapping.c +++ b/drivers/iommu/intel_irq_remapping.c @@ -1113,7 +1113,7 @@ static int intel_irq_remapping_alloc(struct irq_domain *domain, { struct intel_iommu *iommu = domain->host_data; struct irq_alloc_info *info = arg; - struct intel_ir_data *data; + struct intel_ir_data *data, *ird; struct irq_data *irq_data; struct irq_cfg *irq_cfg; int i, ret, index; @@ -1158,14 +1158,20 @@ static int intel_irq_remapping_alloc(struct irq_domain *domain, } if (i > 0) { - data = kzalloc(sizeof(*data), GFP_KERNEL); - if (!data) + ird = kzalloc(sizeof(*ird), GFP_KERNEL); + if (!ird) goto out_free_data; + /* Initialize the common data */ + ird->irq_2_iommu = data->irq_2_iommu; + ird->irq_2_iommu.sub_handle = i; + } else { + ird = data; } + irq_data->hwirq = (index << 16) + i; - irq_data->chip_data = data; + irq_data->chip_data = ird; irq_data->chip = &intel_ir_chip; - intel_irq_remapping_prepare_irte(data, irq_cfg, info, index, i); + intel_irq_remapping_prepare_irte(ird, irq_cfg, info, index, i); irq_set_status_flags(virq + i, IRQ_MOVE_PCNTXT); } return 0; -- 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/