diff mbox series

[v3] mtd: rawnand: qcom: unmap dma address during probe failure

Message ID 20230912101814.7748-1-quic_bibekkum@quicinc.com
State New
Headers show
Series [v3] mtd: rawnand: qcom: unmap dma address during probe failure | expand

Commit Message

Bibek Kumar Patro Sept. 12, 2023, 10:18 a.m. UTC
Fix address argument of nand controller currently being
passed to dma_unmap_resource() in probe error path.
This address argument should be the dma address returned by
dma_map_resource() instead of the physical address of nand controller.

Fixes: 7330fc505af4 ("mtd: rawnand: qcom: stop using phys_to_dma()")
Signed-off-by: Bibek Kumar Patro <quic_bibekkum@quicinc.com>
---
v3: Incorporated comments from Miquel
    - Modified the commit message and title as per suggestions.

v2: Incorporated comments from Pavan/Mani.
    https://lore.kernel.org/all/20230911133026.29868-1-quic_bibekkum@quicinc.com/

v1: https://lore.kernel.org/all/20230907092854.11408-1-quic_bibekkum@quicinc.com/

 drivers/mtd/nand/raw/qcom_nandc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--
2.17.1

Comments

Miquel Raynal Sept. 12, 2023, 10:26 a.m. UTC | #1
Hi Bibek,

quic_bibekkum@quicinc.com wrote on Tue, 12 Sep 2023 15:48:14 +0530:

Title: s/during/upon/?

> Fix address argument of nand controller currently being
> passed to dma_unmap_resource() in probe error path.

What about:

	Unmap the right resource upon probe failure: we currently
	provide the physical address of the DMA region rather than the
	output of dma_map_resource() which is obviously wrong.

> This address argument should be the dma address returned by
> dma_map_resource() instead of the physical address of nand controller.
>
> 
> Fixes: 7330fc505af4 ("mtd: rawnand: qcom: stop using phys_to_dma()")
> Signed-off-by: Bibek Kumar Patro <quic_bibekkum@quicinc.com>
> ---
> v3: Incorporated comments from Miquel
>     - Modified the commit message and title as per suggestions.
> 
> v2: Incorporated comments from Pavan/Mani.
>     https://lore.kernel.org/all/20230911133026.29868-1-quic_bibekkum@quicinc.com/
> 
> v1: https://lore.kernel.org/all/20230907092854.11408-1-quic_bibekkum@quicinc.com/
> 
>  drivers/mtd/nand/raw/qcom_nandc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c
> index 64499c1b3603..b079605c84d3 100644
> --- a/drivers/mtd/nand/raw/qcom_nandc.c
> +++ b/drivers/mtd/nand/raw/qcom_nandc.c
> @@ -3444,7 +3444,7 @@ static int qcom_nandc_probe(struct platform_device *pdev)
>  err_aon_clk:
>  	clk_disable_unprepare(nandc->core_clk);
>  err_core_clk:
> -	dma_unmap_resource(dev, res->start, resource_size(res),
> +	dma_unmap_resource(dev, nandc->base_dma, resource_size(res),
>  			   DMA_BIDIRECTIONAL, 0);
>  	return ret;
>  }
> --
> 2.17.1
> 


Thanks,
Miquèl
Bibek Kumar Patro Sept. 12, 2023, 11:33 a.m. UTC | #2
Hi Miquel,

On 9/12/2023 3:56 PM, Miquel Raynal wrote:
> Hi Bibek,
> 
> quic_bibekkum@quicinc.com wrote on Tue, 12 Sep 2023 15:48:14 +0530:
> 
> Title: s/during/upon/?
> 
>> Fix address argument of nand controller currently being
>> passed to dma_unmap_resource() in probe error path.
> 
> What about:
> 

Sure, this looks more compact and simpler.
will use this for the title.
	v

> 	Unmap the right resource upon probe failure: we currently
> 	provide the physical address of the DMA region rather than the
> 	output of dma_map_resource() which is obviously wrong.
> 
	^
Will keep the rest in commit description. Thanks for this suggestion

>> This address argument should be the dma address returned by
>> dma_map_resource() instead of the physical address of nand controller.
>>
>>
>> Fixes: 7330fc505af4 ("mtd: rawnand: qcom: stop using phys_to_dma()")
>> Signed-off-by: Bibek Kumar Patro <quic_bibekkum@quicinc.com>
>> ---
>> v3: Incorporated comments from Miquel
>>      - Modified the commit message and title as per suggestions.
>>
>> v2: Incorporated comments from Pavan/Mani.
>>      https://lore.kernel.org/all/20230911133026.29868-1-quic_bibekkum@quicinc.com/
>>
>> v1: https://lore.kernel.org/all/20230907092854.11408-1-quic_bibekkum@quicinc.com/
>>
>>   drivers/mtd/nand/raw/qcom_nandc.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c
>> index 64499c1b3603..b079605c84d3 100644
>> --- a/drivers/mtd/nand/raw/qcom_nandc.c
>> +++ b/drivers/mtd/nand/raw/qcom_nandc.c
>> @@ -3444,7 +3444,7 @@ static int qcom_nandc_probe(struct platform_device *pdev)
>>   err_aon_clk:
>>   	clk_disable_unprepare(nandc->core_clk);
>>   err_core_clk:
>> -	dma_unmap_resource(dev, res->start, resource_size(res),
>> +	dma_unmap_resource(dev, nandc->base_dma, resource_size(res),
>>   			   DMA_BIDIRECTIONAL, 0);
>>   	return ret;
>>   }
>> --
>> 2.17.1
>>
> 
> 
> Thanks,
> Miquèl

Thanks & regards,
Bibek
diff mbox series

Patch

diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c
index 64499c1b3603..b079605c84d3 100644
--- a/drivers/mtd/nand/raw/qcom_nandc.c
+++ b/drivers/mtd/nand/raw/qcom_nandc.c
@@ -3444,7 +3444,7 @@  static int qcom_nandc_probe(struct platform_device *pdev)
 err_aon_clk:
 	clk_disable_unprepare(nandc->core_clk);
 err_core_clk:
-	dma_unmap_resource(dev, res->start, resource_size(res),
+	dma_unmap_resource(dev, nandc->base_dma, resource_size(res),
 			   DMA_BIDIRECTIONAL, 0);
 	return ret;
 }