lkml.org 
[lkml]   [2022]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 128/389] wifi: p54: Fix an error handling path in p54spi_probe()
    Date
    From: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

    [ Upstream commit 83781f0162d080fec7dcb911afd1bc2f5ad04471 ]

    If an error occurs after a successful call to p54spi_request_firmware(), it
    must be undone by a corresponding release_firmware() as already done in
    the error handling path of p54spi_request_firmware() and in the .remove()
    function.

    Add the missing call in the error handling path and remove it from
    p54spi_request_firmware() now that it is the responsibility of the caller
    to release the firmware

    Fixes: cd8d3d321285 ("p54spi: p54spi driver")
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Acked-by: Christian Lamparter <chunkeey@gmail.com>
    Signed-off-by: Kalle Valo <kvalo@kernel.org>
    Link: https://lore.kernel.org/r/297d2547ff2ee627731662abceeab9dbdaf23231.1655068321.git.christophe.jaillet@wanadoo.fr
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/intersil/p54/p54spi.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/wireless/intersil/p54/p54spi.c b/drivers/net/wireless/intersil/p54/p54spi.c
    index ab0fe8565851..cdb57819684a 100644
    --- a/drivers/net/wireless/intersil/p54/p54spi.c
    +++ b/drivers/net/wireless/intersil/p54/p54spi.c
    @@ -164,7 +164,7 @@ static int p54spi_request_firmware(struct ieee80211_hw *dev)

    ret = p54_parse_firmware(dev, priv->firmware);
    if (ret) {
    - release_firmware(priv->firmware);
    + /* the firmware is released by the caller */
    return ret;
    }

    @@ -659,6 +659,7 @@ static int p54spi_probe(struct spi_device *spi)
    return 0;

    err_free_common:
    + release_firmware(priv->firmware);
    free_irq(gpio_to_irq(p54spi_gpio_irq), spi);
    err_free_gpio_irq:
    gpio_free(p54spi_gpio_irq);
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-23 13:30    [W:4.181 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site