On Friday, March 15, 2013 12:16 PM, Doug Anderson wrote:
> 
> The ehci_vbus_gpio is requested but never freed.  This can cause
> problems with deferred probes and would cause problems if
> s5p_ehci_remove was ever called.  Use devm to fix this.
> 
> Signed-off-by: Doug Anderson <diand...@chromium.org>

Acked-by: Jingoo Han <jg1....@samsung.com>


Best regards,
Jingoo Han

> ---
> Changes in v2:
> - &pdev->dev => dev elsewhere in s5p_setup_vbus_gpio()
> 
>  drivers/usb/host/ehci-s5p.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/usb/host/ehci-s5p.c b/drivers/usb/host/ehci-s5p.c
> index 20ebf6a..738490e 100644
> --- a/drivers/usb/host/ehci-s5p.c
> +++ b/drivers/usb/host/ehci-s5p.c
> @@ -92,20 +92,21 @@ static void s5p_ehci_phy_disable(struct s5p_ehci_hcd 
> *s5p_ehci)
> 
>  static void s5p_setup_vbus_gpio(struct platform_device *pdev)
>  {
> +     struct device *dev = &pdev->dev;
>       int err;
>       int gpio;
> 
> -     if (!pdev->dev.of_node)
> +     if (!dev->of_node)
>               return;
> 
> -     gpio = of_get_named_gpio(pdev->dev.of_node,
> -                     "samsung,vbus-gpio", 0);
> +     gpio = of_get_named_gpio(dev->of_node, "samsung,vbus-gpio", 0);
>       if (!gpio_is_valid(gpio))
>               return;
> 
> -     err = gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, "ehci_vbus_gpio");
> +     err = devm_gpio_request_one(dev, gpio, GPIOF_OUT_INIT_HIGH,
> +                                 "ehci_vbus_gpio");
>       if (err)
> -             dev_err(&pdev->dev, "can't request ehci vbus gpio %d", gpio);
> +             dev_err(dev, "can't request ehci vbus gpio %d", gpio);
>  }
> 
>  static u64 ehci_s5p_dma_mask = DMA_BIT_MASK(32);
> --
> 1.8.1.3
N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+€�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴
0띠h��뭝

Reply via email to