|
@@ -384,8 +384,6 @@ static int caam_jr_init(struct device *dev)
|
|
|
if (error) {
|
|
|
dev_err(dev, "can't connect JobR %d interrupt (%d)\n",
|
|
|
jrp->ridx, jrp->irq);
|
|
|
- irq_dispose_mapping(jrp->irq);
|
|
|
- jrp->irq = 0;
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
@@ -484,8 +482,10 @@ static int caam_jr_probe(struct platform_device *pdev)
|
|
|
|
|
|
/* Now do the platform independent part */
|
|
|
error = caam_jr_init(jrdev); /* now turn on hardware */
|
|
|
- if (error)
|
|
|
+ if (error) {
|
|
|
+ irq_dispose_mapping(jrpriv->irq);
|
|
|
return error;
|
|
|
+ }
|
|
|
|
|
|
jrpriv->dev = jrdev;
|
|
|
spin_lock(&driver_data.jr_alloc_lock);
|