lkml.org 
[lkml]   [2012]   [Sep]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 15/19] x86, irq: Move irq_remapped() check into free_remapped_irq
On Sun, Aug 26, 2012 at 08:27:55PM +0200, Sebastian Andrzej Siewior wrote:
> On Mon, Aug 20, 2012 at 03:56:01PM +0200, Joerg Roedel wrote:
> > --- a/arch/x86/kernel/apic/io_apic.c
> > +++ b/arch/x86/kernel/apic/io_apic.c
> > @@ -2981,8 +2981,8 @@ void destroy_irq(unsigned int irq)
> >
> > irq_set_status_flags(irq, IRQ_NOREQUEST|IRQ_NOPROBE);
> >
> > - if (irq_remapped(cfg))
> > - free_remapped_irq(irq);
> > + free_remapped_irq(irq);
> > +
> > raw_spin_lock_irqsave(&vector_lock, flags);
> > __clear_irq_vector(irq, cfg);
> > raw_spin_unlock_irqrestore(&vector_lock, flags);
> > diff --git a/drivers/iommu/irq_remapping.c b/drivers/iommu/irq_remapping.c
> > index 3957fb2..f2affc7 100644
> > --- a/drivers/iommu/irq_remapping.c
> > +++ b/drivers/iommu/irq_remapping.c
> > @@ -229,10 +229,13 @@ int set_remapped_irq_affinity(struct irq_data *data, const struct cpumask *mask,
> >
> > void free_remapped_irq(int irq)
> > {
> > + struct irq_cfg *cfg = irq_get_chip_data(irq);
> > +
> > if (!remap_ops || !remap_ops->free_irq)
> > return;
> >
> > - remap_ops->free_irq(irq);
> > + if (cfg && irq_remapped(cfg))
>
> You shuffle code with the exception that you now check for cfg. Why?

Just to be sure it is not NULL, but looking again at the previous code
it is not necessary. I remove the check for cfg.


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



\
 
 \ /
  Last update: 2012-09-25 16:01    [W:2.205 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site