lkml.org 
[lkml]   [2021]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.11 206/601] usb: gadget: s3c: Fix incorrect resources releasing
    Date
    From: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

    [ Upstream commit 42067ccd9eb2077979ac3ce8b7b95c694bd09e14 ]

    Since commit 188db4435ac6 ("usb: gadget: s3c: use platform resources"),
    'request_mem_region()' and 'ioremap()' are no more used, so they don't need
    to be undone in the error handling path of the probe and in the remove
    function.

    Remove these calls and the unneeded 'rsrc_start' and 'rsrc_len' global
    variables.

    Fixes: 188db4435ac6 ("usb: gadget: s3c: use platform resources")
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Link: https://lore.kernel.org/r/b317638464f188159bd8eea44427dd359e480625.1616830026.git.christophe.jaillet@wanadoo.fr
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/usb/gadget/udc/s3c2410_udc.c | 14 +++-----------
    1 file changed, 3 insertions(+), 11 deletions(-)

    diff --git a/drivers/usb/gadget/udc/s3c2410_udc.c b/drivers/usb/gadget/udc/s3c2410_udc.c
    index 1d3ebb07ccd4..b81979b3bdb6 100644
    --- a/drivers/usb/gadget/udc/s3c2410_udc.c
    +++ b/drivers/usb/gadget/udc/s3c2410_udc.c
    @@ -54,8 +54,6 @@ static struct clk *udc_clock;
    static struct clk *usb_bus_clock;
    static void __iomem *base_addr;
    static int irq_usbd;
    -static u64 rsrc_start;
    -static u64 rsrc_len;
    static struct dentry *s3c2410_udc_debugfs_root;

    static inline u32 udc_read(u32 reg)
    @@ -1775,7 +1773,7 @@ static int s3c2410_udc_probe(struct platform_device *pdev)
    base_addr = devm_platform_ioremap_resource(pdev, 0);
    if (IS_ERR(base_addr)) {
    retval = PTR_ERR(base_addr);
    - goto err_mem;
    + goto err;
    }

    the_controller = udc;
    @@ -1793,7 +1791,7 @@ static int s3c2410_udc_probe(struct platform_device *pdev)
    if (retval != 0) {
    dev_err(dev, "cannot get irq %i, err %d\n", irq_usbd, retval);
    retval = -EBUSY;
    - goto err_map;
    + goto err;
    }

    dev_dbg(dev, "got irq %i\n", irq_usbd);
    @@ -1864,10 +1862,7 @@ err_gpio_claim:
    gpio_free(udc_info->vbus_pin);
    err_int:
    free_irq(irq_usbd, udc);
    -err_map:
    - iounmap(base_addr);
    -err_mem:
    - release_mem_region(rsrc_start, rsrc_len);
    +err:

    return retval;
    }
    @@ -1899,9 +1894,6 @@ static int s3c2410_udc_remove(struct platform_device *pdev)

    free_irq(irq_usbd, udc);

    - iounmap(base_addr);
    - release_mem_region(rsrc_start, rsrc_len);
    -
    if (!IS_ERR(udc_clock) && udc_clock != NULL) {
    clk_disable_unprepare(udc_clock);
    clk_put(udc_clock);
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-05-12 20:02    [W:2.077 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site