diff options
Diffstat (limited to 'big-little/common/vgiclib.c')
-rw-r--r-- | big-little/common/vgiclib.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/big-little/common/vgiclib.c b/big-little/common/vgiclib.c index a55fcc4..bde8089 100644 --- a/big-little/common/vgiclib.c +++ b/big-little/common/vgiclib.c @@ -167,10 +167,10 @@ static unsigned set_mig_irq_info(unsigned orig, unsigned curr, unsigned icdiptr_ unsigned desc = 0, cpu_id = read_cpuid(); for (ctr = 0; ctr < MAX_MIG_IRQS; ctr++) { - if ((diff >> (ctr << 2)) & 0xff) { + if ((diff >> (ctr << 3)) & 0xff) { migrated_irqs[cpu_id][ctr].id = icdiptr_offset + ctr; - migrated_irqs[cpu_id][ctr].src_cpuif = bitindex(orig); - migrated_irqs[cpu_id][ctr].dest_cpuif = bitindex(curr); + migrated_irqs[cpu_id][ctr].src_cpuif = bitindex((orig >> (ctr << 3)) & 0xff); + migrated_irqs[cpu_id][ctr].dest_cpuif = bitindex((curr >> (ctr << 3)) & 0xff); desc = dequeue_virq(migrated_irqs[cpu_id][ctr].id, cpu_id); if (desc) { migrated_irqs[cpu_id][ctr].desc = desc; |