File tree Expand file tree Collapse file tree 1 file changed +16
-23
lines changed Expand file tree Collapse file tree 1 file changed +16
-23
lines changed Original file line number Diff line number Diff line change @@ -629,32 +629,25 @@ int irq_setup_affinity(struct irq_desc *desc)
629
629
*/
630
630
int irq_set_vcpu_affinity (unsigned int irq , void * vcpu_info )
631
631
{
632
- unsigned long flags ;
633
- struct irq_desc * desc = irq_get_desc_lock (irq , & flags , 0 );
634
- struct irq_data * data ;
635
- struct irq_chip * chip ;
636
- int ret = - ENOSYS ;
637
-
638
- if (!desc )
639
- return - EINVAL ;
632
+ scoped_irqdesc_get_and_lock (irq , 0 ) {
633
+ struct irq_desc * desc = scoped_irqdesc ;
634
+ struct irq_data * data ;
635
+ struct irq_chip * chip ;
640
636
641
- data = irq_desc_get_irq_data (desc );
642
- do {
643
- chip = irq_data_get_irq_chip (data );
644
- if (chip && chip -> irq_set_vcpu_affinity )
645
- break ;
646
- #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
647
- data = data -> parent_data ;
648
- #else
649
- data = NULL ;
650
- #endif
651
- } while (data );
637
+ data = irq_desc_get_irq_data (desc );
638
+ do {
639
+ chip = irq_data_get_irq_chip (data );
640
+ if (chip && chip -> irq_set_vcpu_affinity )
641
+ break ;
652
642
653
- if (data )
654
- ret = chip -> irq_set_vcpu_affinity (data , vcpu_info );
655
- irq_put_desc_unlock (desc , flags );
643
+ data = irqd_get_parent_data (data );
644
+ } while (data );
656
645
657
- return ret ;
646
+ if (!data )
647
+ return - ENOSYS ;
648
+ return chip -> irq_set_vcpu_affinity (data , vcpu_info );
649
+ }
650
+ return - EINVAL ;
658
651
}
659
652
EXPORT_SYMBOL_GPL (irq_set_vcpu_affinity );
660
653
You can’t perform that action at this time.
0 commit comments