diff options
Diffstat (limited to 'arch/sparc/kernel/sbus.c')
| -rw-r--r-- | arch/sparc/kernel/sbus.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/sparc/kernel/sbus.c b/arch/sparc/kernel/sbus.c index 1271b3a27d4..be5bdf93c76 100644 --- a/arch/sparc/kernel/sbus.c +++ b/arch/sparc/kernel/sbus.c @@ -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");  }  |