[PATCH] wifi: mt76: mt7921: fix missing unwind goto in `mt7921u_probe`

Jiefeng Li posted 1 patch 1 year, 5 months ago
drivers/net/wireless/mediatek/mt76/mt7921/usb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] wifi: mt76: mt7921: fix missing unwind goto in `mt7921u_probe`
Posted by Jiefeng Li 1 year, 5 months ago
`mt7921u_dma_init` can only return zero or negative number according to its
definition. When it returns non-zero number, there exists an error and this
function should handle this error rather than return directly.

Fixes: 0d2afe09fad5 ("mt76: mt7921: add mt7921u driver")
Signed-off-by: Jiefeng Li <jiefeng_li@hust.edu.cn>
Reviewed-by: Dongliang Mu <dzm91@hust.edu.cn>
---
The issue is discovered by static analysis, and the patch is not tested yet.
---
 drivers/net/wireless/mediatek/mt76/mt7921/usb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/usb.c b/drivers/net/wireless/mediatek/mt76/mt7921/usb.c
index 8fef09ed29c9..70c9bbdbf60e 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/usb.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/usb.c
@@ -272,7 +272,7 @@ static int mt7921u_probe(struct usb_interface *usb_intf,
 
 	ret = mt7921u_dma_init(dev, false);
 	if (ret)
-		return ret;
+		goto error;
 
 	hw = mt76_hw(dev);
 	/* check hw sg support in order to enable AMSDU */
-- 
2.34.1
Re: [PATCH] wifi: mt76: mt7921: fix missing unwind goto in `mt7921u_probe`
Posted by Samudrala, Sridhar 1 year, 5 months ago

On 4/12/2023 1:22 AM, Jiefeng Li wrote:
> `mt7921u_dma_init` can only return zero or negative number according to its
> definition. When it returns non-zero number, there exists an error and this
> function should handle this error rather than return directly.
> 
> Fixes: 0d2afe09fad5 ("mt76: mt7921: add mt7921u driver")
> Signed-off-by: Jiefeng Li <jiefeng_li@hust.edu.cn>
> Reviewed-by: Dongliang Mu <dzm91@hust.edu.cn>

Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com>

> ---
> The issue is discovered by static analysis, and the patch is not tested yet.
> ---
>   drivers/net/wireless/mediatek/mt76/mt7921/usb.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/usb.c b/drivers/net/wireless/mediatek/mt76/mt7921/usb.c
> index 8fef09ed29c9..70c9bbdbf60e 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/usb.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/usb.c
> @@ -272,7 +272,7 @@ static int mt7921u_probe(struct usb_interface *usb_intf,
>   
>   	ret = mt7921u_dma_init(dev, false);
>   	if (ret)
> -		return ret;
> +		goto error;
>   
>   	hw = mt76_hw(dev);
>   	/* check hw sg support in order to enable AMSDU */