diff options
Diffstat (limited to 'drivers/dma/shdma.c')
| -rw-r--r-- | drivers/dma/shdma.c | 12 | 
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c index b3b065c4e5c..034ecf0ace0 100644 --- a/drivers/dma/shdma.c +++ b/drivers/dma/shdma.c @@ -640,17 +640,16 @@ static int __init sh_dmae_probe(struct platform_device *pdev)  #endif  	struct sh_dmae_device *shdev; +	/* get platform data */ +	if (!pdev->dev.platform_data) +		return -ENODEV; +  	shdev = kzalloc(sizeof(struct sh_dmae_device), GFP_KERNEL);  	if (!shdev) {  		dev_err(&pdev->dev, "No enough memory\n"); -		err = -ENOMEM; -		goto shdev_err; +		return -ENOMEM;  	} -	/* get platform data */ -	if (!pdev->dev.platform_data) -		goto shdev_err; -  	/* platform data */  	memcpy(&shdev->pdata, pdev->dev.platform_data,  			sizeof(struct sh_dmae_pdata)); @@ -722,7 +721,6 @@ eirq_err:  rst_err:  	kfree(shdev); -shdev_err:  	return err;  }  |