summaryrefslogtreecommitdiff
path: root/big-little/common/vgiclib.c
diff options
context:
space:
mode:
Diffstat (limited to 'big-little/common/vgiclib.c')
-rw-r--r--big-little/common/vgiclib.c6
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;