diff options
Diffstat (limited to 'drivers/misc/lattice-ecp3-config.c')
| -rw-r--r-- | drivers/misc/lattice-ecp3-config.c | 12 | 
1 files changed, 6 insertions, 6 deletions
| diff --git a/drivers/misc/lattice-ecp3-config.c b/drivers/misc/lattice-ecp3-config.c index 0f54730c7ed5..98828030b5a4 100644 --- a/drivers/misc/lattice-ecp3-config.c +++ b/drivers/misc/lattice-ecp3-config.c @@ -76,12 +76,12 @@ static void firmware_load(const struct firmware *fw, void *context)  	if (fw == NULL) {  		dev_err(&spi->dev, "Cannot load firmware, aborting\n"); -		return; +		goto out;  	}  	if (fw->size == 0) {  		dev_err(&spi->dev, "Error: Firmware size is 0!\n"); -		return; +		goto out;  	}  	/* Fill dummy data (24 stuffing bits for commands) */ @@ -103,7 +103,7 @@ static void firmware_load(const struct firmware *fw, void *context)  		dev_err(&spi->dev,  			"Error: No supported FPGA detected (JEDEC_ID=%08x)!\n",  			jedec_id); -		return; +		goto out;  	}  	dev_info(&spi->dev, "FPGA %s detected\n", ecp3_dev[i].name); @@ -116,7 +116,7 @@ static void firmware_load(const struct firmware *fw, void *context)  	buffer = kzalloc(fw->size + 8, GFP_KERNEL);  	if (!buffer) {  		dev_err(&spi->dev, "Error: Can't allocate memory!\n"); -		return; +		goto out;  	}  	/* @@ -155,7 +155,7 @@ static void firmware_load(const struct firmware *fw, void *context)  			"Error: Timeout waiting for FPGA to clear (status=%08x)!\n",  			status);  		kfree(buffer); -		return; +		goto out;  	}  	dev_info(&spi->dev, "Configuring the FPGA...\n"); @@ -181,7 +181,7 @@ static void firmware_load(const struct firmware *fw, void *context)  	release_firmware(fw);  	kfree(buffer); - +out:  	complete(&data->fw_loaded);  } |