From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bastian Blank Subject: [PATCH 2/3] xen: Map physical interrupt before setting up GSI Date: Wed, 24 Mar 2010 12:52:55 +0100 Message-ID: <20100324115255.GA10802@wavehammer.waldi.eu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Signed-off-by: Bastian Blank --- arch/x86/xen/pci.c | 22 +++++++++++----------- 1 files changed, 11 insertions(+), 11 deletions(-) diff --git a/arch/x86/xen/pci.c b/arch/x86/xen/pci.c index a83c74c..eabb512 100644 --- a/arch/x86/xen/pci.c +++ b/arch/x86/xen/pci.c @@ -45,6 +45,17 @@ int xen_register_gsi(u32 gsi, int triggering, int polarity) if (irq < 0) return irq; + map_irq.domid = DOMID_SELF; + map_irq.type = MAP_PIRQ_TYPE_GSI; + map_irq.index = gsi; + map_irq.pirq = irq; + + rc = HYPERVISOR_physdev_op(PHYSDEVOP_map_pirq, &map_irq); + if (rc) { + printk(KERN_WARNING "xen map irq failed %d\n", rc); + return -1; + } + setup_gsi.gsi = gsi; setup_gsi.triggering = (triggering == ACPI_EDGE_SENSITIVE ? 0 : 1); @@ -59,17 +70,6 @@ int xen_register_gsi(u32 gsi, int triggering, int polarity) BUG(); } - map_irq.domid = DOMID_SELF; - map_irq.type = MAP_PIRQ_TYPE_GSI; - map_irq.index = gsi; - map_irq.pirq = irq; - - rc = HYPERVISOR_physdev_op(PHYSDEVOP_map_pirq, &map_irq); - if (rc) { - printk(KERN_WARNING "xen map irq failed %d\n", rc); - return -1; - } - return irq; } -- 1.7.0 -- It is undignified for a woman to play servant to a man who is not hers. -- Spock, "Amok Time", stardate 3372.7