2023-04-20 09:47:32

by Xinghui Li

[permalink] [raw]
Subject: [PATCH v2 1/2] PCI: vmd: Fix one uninitialized symbol error reported by Smatch

From: Xinghui Li <[email protected]>

There is one uninitialized symbol error reported by smatch:
"drivers/pci/controller/vmd.c:931 vmd_enable_domain()
error: uninitialized symbol 'ret'."

Fix it by assigning ret with pci_reset_bus return.

Fixes: 0a584655ef89 ("PCI: vmd: Fix secondary bus reset for Intel bridges")
Reported-by: Dan Carpenter <[email protected]>
Signed-off-by: Xinghui Li <[email protected]>
---
drivers/pci/controller/vmd.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c
index 990630ec57c6..1a36e9a52b93 100644
--- a/drivers/pci/controller/vmd.c
+++ b/drivers/pci/controller/vmd.c
@@ -927,7 +927,8 @@ static int vmd_enable_domain(struct vmd_dev *vmd, unsigned long features)
if (!list_empty(&child->devices)) {
dev = list_first_entry(&child->devices,
struct pci_dev, bus_list);
- if (pci_reset_bus(dev))
+ ret = pci_reset_bus(dev);
+ if (ret)
pci_warn(dev, "can't reset device: %d\n", ret);

break;
--
2.31.1


2023-04-21 00:08:23

by Nirmal Patel

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] PCI: vmd: Fix one uninitialized symbol error reported by Smatch

On 4/20/2023 2:43 AM, [email protected] wrote:
> From: Xinghui Li <[email protected]>
>
> There is one uninitialized symbol error reported by smatch:
> "drivers/pci/controller/vmd.c:931 vmd_enable_domain()
> error: uninitialized symbol 'ret'."
>
> Fix it by assigning ret with pci_reset_bus return.
>
> Fixes: 0a584655ef89 ("PCI: vmd: Fix secondary bus reset for Intel bridges")
> Reported-by: Dan Carpenter <[email protected]>
> Signed-off-by: Xinghui Li <[email protected]>
> ---
> drivers/pci/controller/vmd.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c
> index 990630ec57c6..1a36e9a52b93 100644
> --- a/drivers/pci/controller/vmd.c
> +++ b/drivers/pci/controller/vmd.c
> @@ -927,7 +927,8 @@ static int vmd_enable_domain(struct vmd_dev *vmd, unsigned long features)
> if (!list_empty(&child->devices)) {
> dev = list_first_entry(&child->devices,
> struct pci_dev, bus_list);
> - if (pci_reset_bus(dev))
> + ret = pci_reset_bus(dev);
> + if (ret)
> pci_warn(dev, "can't reset device: %d\n", ret);
>
> break;

Reviewed-by: Nirmal Patel <[email protected]>