]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/irqchip/irq-ti-sci-inta.c
ALSA: sparc: Constify snd_kcontrol_new items
[linux.git] / drivers / irqchip / irq-ti-sci-inta.c
index ef4d625d2d806fcfe0f594db0c9467aba40fd76a..8f6e6b08eadf16f10b2a2444695987bd1db8b8bc 100644 (file)
@@ -246,8 +246,8 @@ static struct ti_sci_inta_event_desc *ti_sci_inta_alloc_irq(struct irq_domain *d
        /* No free bits available. Allocate a new vint */
        vint_desc = ti_sci_inta_alloc_parent_irq(domain);
        if (IS_ERR(vint_desc)) {
-               mutex_unlock(&inta->vint_mutex);
-               return ERR_PTR(PTR_ERR(vint_desc));
+               event_desc = ERR_CAST(vint_desc);
+               goto unlock;
        }
 
        free_bit = find_first_zero_bit(vint_desc->event_map,
@@ -259,6 +259,7 @@ static struct ti_sci_inta_event_desc *ti_sci_inta_alloc_irq(struct irq_domain *d
        if (IS_ERR(event_desc))
                clear_bit(free_bit, vint_desc->event_map);
 
+unlock:
        mutex_unlock(&inta->vint_mutex);
        return event_desc;
 }