diff options
Diffstat (limited to 'drivers/mtd/nand/raw/stm32_fmc2_nand.c')
| -rw-r--r-- | drivers/mtd/nand/raw/stm32_fmc2_nand.c | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/mtd/nand/raw/stm32_fmc2_nand.c b/drivers/mtd/nand/raw/stm32_fmc2_nand.c index 87c1c7dd97eb..5d627048c420 100644 --- a/drivers/mtd/nand/raw/stm32_fmc2_nand.c +++ b/drivers/mtd/nand/raw/stm32_fmc2_nand.c @@ -862,8 +862,8 @@ static int stm32_fmc2_nfc_xfer(struct nand_chip *chip, const u8 *buf,  	ret = dma_map_sg(nfc->dev, nfc->dma_data_sg.sgl,  			 eccsteps, dma_data_dir); -	if (ret < 0) -		return ret; +	if (!ret) +		return -EIO;  	desc_data = dmaengine_prep_slave_sg(dma_ch, nfc->dma_data_sg.sgl,  					    eccsteps, dma_transfer_dir, @@ -893,8 +893,10 @@ static int stm32_fmc2_nfc_xfer(struct nand_chip *chip, const u8 *buf,  		ret = dma_map_sg(nfc->dev, nfc->dma_ecc_sg.sgl,  				 eccsteps, dma_data_dir); -		if (ret < 0) +		if (!ret) { +			ret = -EIO;  			goto err_unmap_data; +		}  		desc_ecc = dmaengine_prep_slave_sg(nfc->dma_ecc_ch,  						   nfc->dma_ecc_sg.sgl, @@ -1799,9 +1801,8 @@ static int stm32_fmc2_nfc_parse_child(struct stm32_fmc2_nfc *nfc,  		nand->cs_used[i] = cs;  	} -	nand->wp_gpio = devm_gpiod_get_from_of_node(nfc->dev, dn, -						    "wp-gpios", 0, -						    GPIOD_OUT_HIGH, "wp"); +	nand->wp_gpio = devm_fwnode_gpiod_get(nfc->dev, of_fwnode_handle(dn), +					      "wp", GPIOD_OUT_HIGH, "wp");  	if (IS_ERR(nand->wp_gpio)) {  		ret = PTR_ERR(nand->wp_gpio);  		if (ret != -ENOENT)  |