|
@@ -554,10 +554,8 @@ static void __init sbus_iommu_init(struct platform_device *op)
|
|
|
regs = pr->phys_addr;
|
|
|
|
|
|
iommu = kzalloc(sizeof(*iommu), GFP_ATOMIC);
|
|
|
- if (!iommu)
|
|
|
- goto fatal_memory_error;
|
|
|
strbuf = kzalloc(sizeof(*strbuf), GFP_ATOMIC);
|
|
|
- if (!strbuf)
|
|
|
+ if (!iommu || !strbuf)
|
|
|
goto fatal_memory_error;
|
|
|
|
|
|
op->dev.archdata.iommu = iommu;
|
|
@@ -656,6 +654,8 @@ static void __init sbus_iommu_init(struct platform_device *op)
|
|
|
return;
|
|
|
|
|
|
fatal_memory_error:
|
|
|
+ kfree(iommu);
|
|
|
+ kfree(strbuf);
|
|
|
prom_printf("sbus_iommu_init: Fatal memory allocation error.\n");
|
|
|
}
|
|
|
|