drivers/net/wireless/mediatek/mt76/mt7915/main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
If mt76_wcid_alloc() fails, the "mt76.mutex" mutex needs to be released as
done in the other error handling path of mt7915_add_interface().
Fixes: f3049b88b2b3 ("wifi: mt76: mt7915: allocate vif wcid in the same range as stations")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
Compile tested only
---
drivers/net/wireless/mediatek/mt76/mt7915/main.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/main.c b/drivers/net/wireless/mediatek/mt76/mt7915/main.c
index d75e8dea1fbd..bea8b77b1b92 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/main.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/main.c
@@ -246,8 +246,10 @@ static int mt7915_add_interface(struct ieee80211_hw *hw,
phy->omac_mask |= BIT_ULL(mvif->mt76.omac_idx);
idx = mt76_wcid_alloc(dev->mt76.wcid_mask, mt7915_wtbl_size(dev));
- if (idx < 0)
- return -ENOSPC;
+ if (idx < 0) {
+ ret = -ENOSPC;
+ goto out;
+ }
INIT_LIST_HEAD(&mvif->sta.rc_list);
INIT_LIST_HEAD(&mvif->sta.wcid.poll_list);
--
2.46.2
On Sun, Sep 29, 2024 at 09:53:40PM +0200, Christophe JAILLET wrote: > If mt76_wcid_alloc() fails, the "mt76.mutex" mutex needs to be released as > done in the other error handling path of mt7915_add_interface(). > > Fixes: f3049b88b2b3 ("wifi: mt76: mt7915: allocate vif wcid in the same range as stations") > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- > Compile tested only Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org> This fix is still required. regards, dan carpenter
> If mt76_wcid_alloc() fails, the "mt76.mutex" mutex needs to be released as > done in the other error handling path of mt7915_add_interface(). paths? … > +++ b/drivers/net/wireless/mediatek/mt76/mt7915/main.c > @@ -246,8 +246,10 @@ static int mt7915_add_interface(struct ieee80211_hw *hw, > phy->omac_mask |= BIT_ULL(mvif->mt76.omac_idx); > > idx = mt76_wcid_alloc(dev->mt76.wcid_mask, mt7915_wtbl_size(dev)); > - if (idx < 0) > - return -ENOSPC; > + if (idx < 0) { > + ret = -ENOSPC; > + goto out; > + } … Would you dare to support another jump target for this assignment statement? Regards, Markus
© 2016 - 2024 Red Hat, Inc.