2020-11-16 13:52:12

by Wang Hai

[permalink] [raw]
Subject: [PATCH] PCI: dwc: fix error return code in dw_pcie_host_init()

Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.

Fixes: 07940c369a6b ("PCI: dwc: Fix MSI page leakage in suspend/resume")
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Wang Hai <[email protected]>
---
drivers/pci/controller/dwc/pcie-designware-host.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c
index 44c2a6572199..7b3c91c6ae02 100644
--- a/drivers/pci/controller/dwc/pcie-designware-host.c
+++ b/drivers/pci/controller/dwc/pcie-designware-host.c
@@ -395,6 +395,7 @@ int dw_pcie_host_init(struct pcie_port *pp)
if (dma_mapping_error(pci->dev, pp->msi_data)) {
dev_err(pci->dev, "Failed to map MSI data\n");
pp->msi_data = 0;
+ ret = -ENOMEM;
goto err_free_msi;
}
} else {
--
2.17.1


2020-11-17 02:44:19

by Jisheng Zhang

[permalink] [raw]
Subject: Re: [PATCH] PCI: dwc: fix error return code in dw_pcie_host_init()

On Mon, 16 Nov 2020 21:50:23 +0800 Wang Hai wrote:

>
>
> Fix to return a negative error code from the error handling
> case instead of 0, as done elsewhere in this function.

good catch.

>
> Fixes: 07940c369a6b ("PCI: dwc: Fix MSI page leakage in suspend/resume")
> Reported-by: Hulk Robot <[email protected]>
> Signed-off-by: Wang Hai <[email protected]>
> ---
> drivers/pci/controller/dwc/pcie-designware-host.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c
> index 44c2a6572199..7b3c91c6ae02 100644
> --- a/drivers/pci/controller/dwc/pcie-designware-host.c
> +++ b/drivers/pci/controller/dwc/pcie-designware-host.c
> @@ -395,6 +395,7 @@ int dw_pcie_host_init(struct pcie_port *pp)
> if (dma_mapping_error(pci->dev, pp->msi_data)) {
> dev_err(pci->dev, "Failed to map MSI data\n");
> pp->msi_data = 0;
> + ret = -ENOMEM;

what about use the return value of dma_maping_error()? I.E

ret = dma_mapping_error()
if (ret) {
....
}

> goto err_free_msi;
> }
> } else {
> --
> 2.17.1
>

2020-11-17 06:58:57

by Wang Hai

[permalink] [raw]
Subject: Re: [PATCH] PCI: dwc: fix error return code in dw_pcie_host_init()


在 2020/11/17 9:49, Jisheng Zhang 写道:
> On Mon, 16 Nov 2020 21:50:23 +0800 Wang Hai wrote:
>
>>
>> Fix to return a negative error code from the error handling
>> case instead of 0, as done elsewhere in this function.
> good catch.
>
>> Fixes: 07940c369a6b ("PCI: dwc: Fix MSI page leakage in suspend/resume")
>> Reported-by: Hulk Robot <[email protected]>
>> Signed-off-by: Wang Hai <[email protected]>
>>
>> if (dma_mapping_error(pci->dev, pp->msi_data)) {
>> dev_err(pci->dev, "Failed to map MSI data\n");
>> pp->msi_data = 0;
>> + ret = -ENOMEM;
> what about use the return value of dma_maping_error()? I.E
>
> ret = dma_mapping_error()
> if (ret) {
> ....
> }
>

Thanks for your review,  I just sent v2

"[PATCH v2] PCI: dwc: fix error return code in dw_pcie_host_init()"

> .
>