2023-04-17 12:15:12

by Li Ningke

[permalink] [raw]
Subject: [PATCH] wifi: ath12k: fix missing unwind goto in `ath12k_pci_probe`

Smatch complains that
drivers/net/wireless/ath/ath12k/pci.c:1198 ath12k_pci_probe() warn:
missing unwind goto?

In order to release the allocated resources before returning an
error, the statement that directly returns the error is changed
to a goto statement that first releases the resources in the error
handling section.

Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
Signed-off-by: Li Ningke <[email protected]>
Reviewed-by: Dongliang Mu <[email protected]>
---
The issue is found by static analysis and the patch remains untested.
---
drivers/net/wireless/ath/ath12k/pci.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath12k/pci.c b/drivers/net/wireless/ath/ath12k/pci.c
index ae7f6083c9fc..f523aa15885f 100644
--- a/drivers/net/wireless/ath/ath12k/pci.c
+++ b/drivers/net/wireless/ath/ath12k/pci.c
@@ -1195,7 +1195,8 @@ static int ath12k_pci_probe(struct pci_dev *pdev,
dev_err(&pdev->dev,
"Unknown hardware version found for QCN9274: 0x%x\n",
soc_hw_version_major);
- return -EOPNOTSUPP;
+ ret = -EOPNOTSUPP;
+ goto err_pci_free_region;
}
break;
case WCN7850_DEVICE_ID:
--
2.34.1


2023-04-17 12:57:58

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] wifi: ath12k: fix missing unwind goto in `ath12k_pci_probe`

Li Ningke <[email protected]> wrote:

> Smatch complains that
> drivers/net/wireless/ath/ath12k/pci.c:1198 ath12k_pci_probe() warn:
> missing unwind goto?
>
> In order to release the allocated resources before returning an
> error, the statement that directly returns the error is changed
> to a goto statement that first releases the resources in the error
> handling section.
>
> Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
> Signed-off-by: Li Ningke <[email protected]>
> Reviewed-by: Dongliang Mu <[email protected]>

Already fixed with an identical patch:

https://git.kernel.org/kvalo/ath/c/488d9a484f96

error: patch failed: drivers/net/wireless/ath/ath12k/pci.c:1195
error: drivers/net/wireless/ath/ath12k/pci.c: patch does not apply
stg import: Diff does not apply cleanly

Patch set to Rejected.

--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches