Messages in this thread | | | Date | Mon, 1 Oct 2012 10:40:51 +0200 | From | Joerg Roedel <> | Subject | Re: [PATCH 09/16] iommu/amd: Add IOAPIC remapping routines |
| |
On Fri, Sep 28, 2012 at 10:45:15AM -0400, Konrad Rzeszutek Wilk wrote: > On Fri, Sep 28, 2012 at 02:23:59PM +0200, Joerg Roedel wrote: > > + /* > > + * Mask level triggered irqs. > > + * Use IRQ_DELAYED_DISABLE for edge triggered irqs. > > so how come it is not set?
Don't understand this. What is not set?
> > + if (!config_enabled(CONFIG_SMP)) > > + return -1; > > -1? -ENOx something?
No, -1 for compatibiblity with the other implementation of this.
> > + err = apic->cpu_mask_to_apicid_and(cfg->domain, mask, &dest); > > + if (err) { > > + if (assign_irq_vector(irq, cfg, data->affinity)) > > + pr_err("AMD-Vi: Failed to recover vector for irq %d\n", irq); > > If we do OK with the assignment of the vector, should we just continue > on instead of returning error?
The purpose of this is to recover to the old affinity if we failed at this point. Even in this case, setting the new affinity still failed and we need to inform the caller about this. Thus returning the error. Also note the pr_err message which also tells you about the recovery-case :)
Joerg
-- AMD Operating System Research Center
Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach General Managers: Alberto Bozzo Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632
| |