mirror of https://gitee.com/openkylin/linux.git
usb: gadget: s3c: Fix incorrect resources releasing
Since commit188db4435a
("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:188db4435a
("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>
This commit is contained in:
parent
d00be779cc
commit
42067ccd9e
|
@ -54,8 +54,6 @@ static struct clk *udc_clock;
|
||||||
static struct clk *usb_bus_clock;
|
static struct clk *usb_bus_clock;
|
||||||
static void __iomem *base_addr;
|
static void __iomem *base_addr;
|
||||||
static int irq_usbd;
|
static int irq_usbd;
|
||||||
static u64 rsrc_start;
|
|
||||||
static u64 rsrc_len;
|
|
||||||
static struct dentry *s3c2410_udc_debugfs_root;
|
static struct dentry *s3c2410_udc_debugfs_root;
|
||||||
|
|
||||||
static inline u32 udc_read(u32 reg)
|
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);
|
base_addr = devm_platform_ioremap_resource(pdev, 0);
|
||||||
if (IS_ERR(base_addr)) {
|
if (IS_ERR(base_addr)) {
|
||||||
retval = PTR_ERR(base_addr);
|
retval = PTR_ERR(base_addr);
|
||||||
goto err_mem;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
the_controller = udc;
|
the_controller = udc;
|
||||||
|
@ -1793,7 +1791,7 @@ static int s3c2410_udc_probe(struct platform_device *pdev)
|
||||||
if (retval != 0) {
|
if (retval != 0) {
|
||||||
dev_err(dev, "cannot get irq %i, err %d\n", irq_usbd, retval);
|
dev_err(dev, "cannot get irq %i, err %d\n", irq_usbd, retval);
|
||||||
retval = -EBUSY;
|
retval = -EBUSY;
|
||||||
goto err_map;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev_dbg(dev, "got irq %i\n", irq_usbd);
|
dev_dbg(dev, "got irq %i\n", irq_usbd);
|
||||||
|
@ -1864,10 +1862,7 @@ static int s3c2410_udc_probe(struct platform_device *pdev)
|
||||||
gpio_free(udc_info->vbus_pin);
|
gpio_free(udc_info->vbus_pin);
|
||||||
err_int:
|
err_int:
|
||||||
free_irq(irq_usbd, udc);
|
free_irq(irq_usbd, udc);
|
||||||
err_map:
|
err:
|
||||||
iounmap(base_addr);
|
|
||||||
err_mem:
|
|
||||||
release_mem_region(rsrc_start, rsrc_len);
|
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
@ -1899,9 +1894,6 @@ static int s3c2410_udc_remove(struct platform_device *pdev)
|
||||||
|
|
||||||
free_irq(irq_usbd, udc);
|
free_irq(irq_usbd, udc);
|
||||||
|
|
||||||
iounmap(base_addr);
|
|
||||||
release_mem_region(rsrc_start, rsrc_len);
|
|
||||||
|
|
||||||
if (!IS_ERR(udc_clock) && udc_clock != NULL) {
|
if (!IS_ERR(udc_clock) && udc_clock != NULL) {
|
||||||
clk_disable_unprepare(udc_clock);
|
clk_disable_unprepare(udc_clock);
|
||||||
clk_put(udc_clock);
|
clk_put(udc_clock);
|
||||||
|
|
Loading…
Reference in New Issue