mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-31 04:01:48 -04:00
irqchip/gic-v4: Clear IRQ_DISABLE_UNLAZY again if mapping fails
Should the call to irq_set_vcpu_affinity() fail at map time, we should restore the normal lazy-disable behaviour instead of staying with the eager disable that GICv4 requires. Reported-by: Eric Auger <[email protected]> Acked-by: Christoffer Dall <[email protected]> Signed-off-by: Marc Zyngier <[email protected]>
This commit is contained in:
parent
4f8413a3a7
commit
90dc7122a3
1 changed files with 6 additions and 1 deletions
|
|
@ -177,6 +177,7 @@ int its_map_vlpi(int irq, struct its_vlpi_map *map)
|
|||
.map = map,
|
||||
},
|
||||
};
|
||||
int ret;
|
||||
|
||||
/*
|
||||
* The host will never see that interrupt firing again, so it
|
||||
|
|
@ -184,7 +185,11 @@ int its_map_vlpi(int irq, struct its_vlpi_map *map)
|
|||
*/
|
||||
irq_set_status_flags(irq, IRQ_DISABLE_UNLAZY);
|
||||
|
||||
return irq_set_vcpu_affinity(irq, &info);
|
||||
ret = irq_set_vcpu_affinity(irq, &info);
|
||||
if (ret)
|
||||
irq_clear_status_flags(irq, IRQ_DISABLE_UNLAZY);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int its_get_vlpi(int irq, struct its_vlpi_map *map)
|
||||
|
|
|
|||
Loading…
Reference in a new issue