usb: gadget: s3c: Fix incorrect resources releasing
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 27 Mar 2021 07:36:50 +0000 (08:36 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 28 Mar 2021 12:07:18 +0000 (14:07 +0200)
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>
drivers/usb/gadget/udc/s3c2410_udc.c

index 1d3ebb07ccd4d8cfb9173c66e200f428eacf30c0..b81979b3bdb66edb9ef39fad7e2e26692d315524 100644 (file)
@@ -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);