diff options
Diffstat (limited to 'drivers/spi/spi-imx.c')
| -rw-r--r-- | drivers/spi/spi-imx.c | 11 | 
1 files changed, 3 insertions, 8 deletions
| diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c index c6e697f5e007..31054e3de4c1 100644 --- a/drivers/spi/spi-imx.c +++ b/drivers/spi/spi-imx.c @@ -793,13 +793,8 @@ static int __devinit spi_imx_probe(struct platform_device *pdev)  		ret = gpio_request(spi_imx->chipselect[i], DRIVER_NAME);  		if (ret) { -			while (i > 0) { -				i--; -				if (spi_imx->chipselect[i] >= 0) -					gpio_free(spi_imx->chipselect[i]); -			}  			dev_err(&pdev->dev, "can't get cs gpios\n"); -			goto out_master_put; +			goto out_gpio_free;  		}  	} @@ -881,10 +876,10 @@ out_iounmap:  out_release_mem:  	release_mem_region(res->start, resource_size(res));  out_gpio_free: -	for (i = 0; i < master->num_chipselect; i++) +	while (--i >= 0) {  		if (spi_imx->chipselect[i] >= 0)  			gpio_free(spi_imx->chipselect[i]); -out_master_put: +	}  	spi_master_put(master);  	kfree(master);  	platform_set_drvdata(pdev, NULL); | 
