[v2,1/2] PCI: vmd: Fix one uninitialized symbol error reported by Smatch

Message ID 20230420094332.1507900-2-korantwork@gmail.com
State New
Headers
Series PCI: vmd: Fix two issues in VMD reported by Smatch |

Commit Message

Xinghui Li April 20, 2023, 9:43 a.m. UTC
  From: Xinghui Li <korantli@tencent.com>

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 <error27@gmail.com>
Signed-off-by: Xinghui Li <korantli@tencent.com>
---
 drivers/pci/controller/vmd.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Comments

Patel, Nirmal April 20, 2023, 11:59 p.m. UTC | #1
On 4/20/2023 2:43 AM, korantwork@gmail.com wrote:
> From: Xinghui Li <korantli@tencent.com>
>
> 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 <error27@gmail.com>
> Signed-off-by: Xinghui Li <korantli@tencent.com>
> ---
>  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 <nirmal.patel@linux.intel.com>
  

Patch

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;