2023-04-12 06:35:59

by Jiefeng Li

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

`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 <[email protected]>
Reviewed-by: Dongliang Mu <[email protected]>
---
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


2023-04-12 14:25:23

by Samudrala, Sridhar

[permalink] [raw]
Subject: Re: [PATCH] wifi: mt76: mt7921: fix missing unwind goto in `mt7921u_probe`



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 <[email protected]>
> Reviewed-by: Dongliang Mu <[email protected]>

Reviewed-by: Sridhar Samudrala <[email protected]>

> ---
> 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 */