diff mbox

[-next] PCI: dwc: artpec6: Fix return value check in artpec6_add_pcie_ep()

Message ID 1514964815-93190-1-git-send-email-weiyongjun1@huawei.com (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show

Commit Message

Wei Yongjun Jan. 3, 2018, 7:33 a.m. UTC
In case of error, the function devm_ioremap() returns NULL pointer
not ERR_PTR(). The IS_ERR() test in the return value check should be
replaced with NULL test.

Fixes: b5074ef6fe7d ("PCI: dwc: artpec6: Add support for endpoint mode")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
---
 drivers/pci/dwc/pcie-artpec6.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Lorenzo Pieralisi Jan. 3, 2018, 11:43 a.m. UTC | #1
On Wed, Jan 03, 2018 at 07:33:35AM +0000, Wei Yongjun wrote:
> In case of error, the function devm_ioremap() returns NULL pointer
> not ERR_PTR(). The IS_ERR() test in the return value check should be
> replaced with NULL test.
> 
> Fixes: b5074ef6fe7d ("PCI: dwc: artpec6: Add support for endpoint mode")
> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
> ---
>  drivers/pci/dwc/pcie-artpec6.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Applied to pci/dwc for v4.16, thanks.

Lorenzo

> diff --git a/drivers/pci/dwc/pcie-artpec6.c b/drivers/pci/dwc/pcie-artpec6.c
> index 312f21b..b1e9820 100644
> --- a/drivers/pci/dwc/pcie-artpec6.c
> +++ b/drivers/pci/dwc/pcie-artpec6.c
> @@ -485,8 +485,8 @@ static int artpec6_add_pcie_ep(struct artpec6_pcie *artpec6_pcie,
>  
>  	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi2");
>  	pci->dbi_base2 = devm_ioremap(dev, res->start, resource_size(res));
> -	if (IS_ERR(pci->dbi_base2))
> -		return PTR_ERR(pci->dbi_base2);
> +	if (!pci->dbi_base2)
> +		return -ENOMEM;
>  
>  	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "addr_space");
>  	if (!res)
>
Niklas Cassel Jan. 9, 2018, 3:21 p.m. UTC | #2
On 03/01/18 12:43, Lorenzo Pieralisi wrote:
> On Wed, Jan 03, 2018 at 07:33:35AM +0000, Wei Yongjun wrote:
>> In case of error, the function devm_ioremap() returns NULL pointer
>> not ERR_PTR(). The IS_ERR() test in the return value check should be
>> replaced with NULL test.
>>
>> Fixes: b5074ef6fe7d ("PCI: dwc: artpec6: Add support for endpoint mode")
>> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
>> ---
>>  drivers/pci/dwc/pcie-artpec6.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> Applied to pci/dwc for v4.16, thanks.
> 
> Lorenzo
> 

Argh.. I must have mixed up the return value from devm_ioremap()
with the return value from devm_ioremap_resource()
(which is used in other places in the driver).

However, dbi2 sets a bit to access the shadow registers,
so we have to use devm_ioremap() here, so it is correct
to fix the return handling.

Thanks for fixing this!

Acked-by: Niklas Cassel <niklas.cassel@axis.com>

>> diff --git a/drivers/pci/dwc/pcie-artpec6.c b/drivers/pci/dwc/pcie-artpec6.c
>> index 312f21b..b1e9820 100644
>> --- a/drivers/pci/dwc/pcie-artpec6.c
>> +++ b/drivers/pci/dwc/pcie-artpec6.c
>> @@ -485,8 +485,8 @@ static int artpec6_add_pcie_ep(struct artpec6_pcie *artpec6_pcie,
>>  
>>  	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi2");
>>  	pci->dbi_base2 = devm_ioremap(dev, res->start, resource_size(res));
>> -	if (IS_ERR(pci->dbi_base2))
>> -		return PTR_ERR(pci->dbi_base2);
>> +	if (!pci->dbi_base2)
>> +		return -ENOMEM;
>>  
>>  	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "addr_space");
>>  	if (!res)
>>
diff mbox

Patch

diff --git a/drivers/pci/dwc/pcie-artpec6.c b/drivers/pci/dwc/pcie-artpec6.c
index 312f21b..b1e9820 100644
--- a/drivers/pci/dwc/pcie-artpec6.c
+++ b/drivers/pci/dwc/pcie-artpec6.c
@@ -485,8 +485,8 @@  static int artpec6_add_pcie_ep(struct artpec6_pcie *artpec6_pcie,
 
 	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi2");
 	pci->dbi_base2 = devm_ioremap(dev, res->start, resource_size(res));
-	if (IS_ERR(pci->dbi_base2))
-		return PTR_ERR(pci->dbi_base2);
+	if (!pci->dbi_base2)
+		return -ENOMEM;
 
 	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "addr_space");
 	if (!res)