diff mbox

[2/2] mtd: spi-nor: Fix some error codes in cqspi_setup_flash()

Message ID 20161013080857.GC3389@mwanda
State Accepted
Commit 10ad1d754a434c024ce7eeb1cec9f69fd3ecc863
Headers show

Commit Message

Dan Carpenter Oct. 13, 2016, 8:30 a.m. UTC
We return success or possibly uninitialized values on these error paths
instead of proper error codes.

Fixes: 140623410536 ("mtd: spi-nor: Add driver for Cadence Quad SPI Flash Controller")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

Comments

Marek Vasut Oct. 14, 2016, 7:16 a.m. UTC | #1
On 10/13/2016 10:30 AM, Dan Carpenter wrote:
> We return success or possibly uninitialized values on these error paths
> instead of proper error codes.
> 
> Fixes: 140623410536 ("mtd: spi-nor: Add driver for Cadence Quad SPI Flash Controller")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> 

Nice

Reviewed-by: Marek Vasut <marex@denx.de>

> diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c
> index 944863b..d489fbd 100644
> --- a/drivers/mtd/spi-nor/cadence-quadspi.c
> +++ b/drivers/mtd/spi-nor/cadence-quadspi.c
> @@ -1077,12 +1077,14 @@ static int cqspi_setup_flash(struct cqspi_st *cqspi, struct device_node *np)
>  
>  	/* Get flash device data */
>  	for_each_available_child_of_node(dev->of_node, np) {
> -		if (of_property_read_u32(np, "reg", &cs)) {
> +		ret = of_property_read_u32(np, "reg", &cs);
> +		if (ret) {
>  			dev_err(dev, "Couldn't determine chip select.\n");
>  			goto err;
>  		}
>  
>  		if (cs >= CQSPI_MAX_CHIPSELECT) {
> +			ret = -EINVAL;
>  			dev_err(dev, "Chip select %d out of range.\n", cs);
>  			goto err;
>  		}
>
Moritz Fischer Oct. 15, 2016, 10:09 p.m. UTC | #2
On Fri, Oct 14, 2016 at 9:16 AM, Marek Vasut <marex@denx.de> wrote:
> On 10/13/2016 10:30 AM, Dan Carpenter wrote:
>> We return success or possibly uninitialized values on these error paths
>> instead of proper error codes.
>>
>> Fixes: 140623410536 ("mtd: spi-nor: Add driver for Cadence Quad SPI Flash Controller")
>> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>>
>
> Nice
>
> Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Moritz Fischer <moritz.fischer@ettus.com>

Thanks,

Moritz
Cyrille Pitchen Nov. 28, 2016, 8:20 a.m. UTC | #3
Le 16/10/2016 à 00:09, Moritz Fischer a écrit :
> On Fri, Oct 14, 2016 at 9:16 AM, Marek Vasut <marex@denx.de> wrote:
>> On 10/13/2016 10:30 AM, Dan Carpenter wrote:
>>> We return success or possibly uninitialized values on these error paths
>>> instead of proper error codes.
>>>
>>> Fixes: 140623410536 ("mtd: spi-nor: Add driver for Cadence Quad SPI Flash Controller")
>>> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>>>
>>
>> Nice
>>
>> Reviewed-by: Marek Vasut <marex@denx.de>
> Reviewed-by: Moritz Fischer <moritz.fischer@ettus.com>
Applied to git://github.com/spi-nor/linux.git

Thanks!

> 
> Thanks,
> 
> Moritz
> 
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
diff mbox

Patch

diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c
index 944863b..d489fbd 100644
--- a/drivers/mtd/spi-nor/cadence-quadspi.c
+++ b/drivers/mtd/spi-nor/cadence-quadspi.c
@@ -1077,12 +1077,14 @@  static int cqspi_setup_flash(struct cqspi_st *cqspi, struct device_node *np)
 
 	/* Get flash device data */
 	for_each_available_child_of_node(dev->of_node, np) {
-		if (of_property_read_u32(np, "reg", &cs)) {
+		ret = of_property_read_u32(np, "reg", &cs);
+		if (ret) {
 			dev_err(dev, "Couldn't determine chip select.\n");
 			goto err;
 		}
 
 		if (cs >= CQSPI_MAX_CHIPSELECT) {
+			ret = -EINVAL;
 			dev_err(dev, "Chip select %d out of range.\n", cs);
 			goto err;
 		}