]> rtime.felk.cvut.cz Git - linux-imx.git/blobdiff - arch/ia64/kernel/irq_ia64.c
[IA64] vector-domain - handle assign_irq_vector(AUTO_ASSIGN)
[linux-imx.git] / arch / ia64 / kernel / irq_ia64.c
index 91797c11116218a254fdfe5496bbb19561ee9320..158eafb5f1aac9be701642342964919afce221c8 100644 (file)
@@ -212,9 +212,6 @@ assign_irq_vector (int irq)
        vector = -ENOSPC;
 
        spin_lock_irqsave(&vector_lock, flags);
-       if (irq < 0) {
-               goto out;
-       }
        for_each_online_cpu(cpu) {
                domain = vector_allocation_domain(cpu);
                vector = find_unassigned_vector(domain);
@@ -223,6 +220,8 @@ assign_irq_vector (int irq)
        }
        if (vector < 0)
                goto out;
+       if (irq == AUTO_ASSIGN)
+               irq = vector;
        BUG_ON(__bind_irq_vector(irq, vector, domain));
  out:
        spin_unlock_irqrestore(&vector_lock, flags);