lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 466/800] brcmsmac: mac80211_if: Fix a resource leak in an error handling path
    Date
    From: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

    [ Upstream commit 9a25344d5177c2b9285532236dc3d10a091f39a8 ]

    If 'brcms_attach()' fails, we must undo the previous 'ieee80211_alloc_hw()'
    as already done in the remove function.

    Fixes: 5b435de0d786 ("net: wireless: add brcm80211 drivers")
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/8fbc171a1a493b38db5a6f0873c6021fca026a6c.1620852921.git.christophe.jaillet@wanadoo.fr
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    .../wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c | 8 +++++++-
    1 file changed, 7 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
    index 39f3af2d0439..eadac0f5590f 100644
    --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
    +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
    @@ -1220,6 +1220,7 @@ static int brcms_bcma_probe(struct bcma_device *pdev)
    {
    struct brcms_info *wl;
    struct ieee80211_hw *hw;
    + int ret;

    dev_info(&pdev->dev, "mfg %x core %x rev %d class %d irq %d\n",
    pdev->id.manuf, pdev->id.id, pdev->id.rev, pdev->id.class,
    @@ -1244,11 +1245,16 @@ static int brcms_bcma_probe(struct bcma_device *pdev)
    wl = brcms_attach(pdev);
    if (!wl) {
    pr_err("%s: brcms_attach failed!\n", __func__);
    - return -ENODEV;
    + ret = -ENODEV;
    + goto err_free_ieee80211;
    }
    brcms_led_register(wl);

    return 0;
    +
    +err_free_ieee80211:
    + ieee80211_free_hw(hw);
    + return ret;
    }

    static int brcms_suspend(struct bcma_device *pdev)
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 11:09    [W:2.376 / U:2.240 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site