cpus_and(tmp, mask, cpu_online_map);
        if (cpus_empty(tmp))
-               tmp = TARGET_CPUS;
-
-       cpus_and(mask, tmp, CPU_MASK_ALL);
+               return;
 
        vector = assign_irq_vector(irq, mask, &tmp);
        if (vector < 0)
 
        cpus_and(tmp, mask, cpu_online_map);
        if (cpus_empty(tmp))
-               tmp = TARGET_CPUS;
-
-       cpus_and(mask, tmp, CPU_MASK_ALL);
+               return;
 
        vector = assign_irq_vector(irq, mask, &tmp);
        if (vector < 0)
 
        cpus_and(tmp, mask, cpu_online_map);
        if (cpus_empty(tmp))
-               tmp = TARGET_CPUS;
-
-       cpus_and(mask, tmp, CPU_MASK_ALL);
+               return;
 
        vector = assign_irq_vector(irq, mask, &tmp);
        if (vector < 0)