If an error occurs after calling 'sp_get_irqs()', 'sp_free_irqs()' must be
called as already done in the error handling path.
Fixes: f4d18d656f88 ("crypto: ccp - Abstract interrupt registeration")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: John Allen <john.allen@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
                if (ret) {
                        dev_err(dev, "dma_set_mask_and_coherent failed (%d)\n",
                                ret);
-                       goto e_err;
+                       goto free_irqs;
                }
        }
 
 
        ret = sp_init(sp);
        if (ret)
-               goto e_err;
+               goto free_irqs;
 
        return 0;
 
+free_irqs:
+       sp_free_irqs(sp);
 e_err:
        dev_notice(dev, "initialization failed\n");
        return ret;