1. Return proper error if omap_usbhs_alloc_child fails
2. In the case of goto err_ehci, we should call platform_device_unregister(ehci)
instead of platform_device_put(ehci) because we have already added the
platform device to device hierarchy.
Signed-off-by: Axel Lin <[email protected]>
---
drivers/mfd/omap-usb-host.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
index 3ab9ffa..344f518 100644
--- a/drivers/mfd/omap-usb-host.c
+++ b/drivers/mfd/omap-usb-host.c
@@ -281,6 +281,7 @@ static int omap_usbhs_alloc_children(struct platform_device *pdev)
if (!ehci) {
dev_err(dev, "omap_usbhs_alloc_child failed\n");
+ ret = -ENOMEM;
goto err_end;
}
@@ -304,13 +305,14 @@ static int omap_usbhs_alloc_children(struct platform_device *pdev)
sizeof(*ohci_data), dev);
if (!ohci) {
dev_err(dev, "omap_usbhs_alloc_child failed\n");
+ ret = -ENOMEM;
goto err_ehci;
}
return 0;
err_ehci:
- platform_device_put(ehci);
+ platform_device_unregister(ehci);
err_end:
return ret;
--
1.7.1
On Sat, May 14, 2011 at 11:45 AM, Axel Lin <[email protected]> wrote:
> 1. Return proper error if omap_usbhs_alloc_child fails
> 2. In the case of goto err_ehci, we should call platform_device_unregister(ehci)
> ? instead of platform_device_put(ehci) because we have already added the
> ? platform device to device hierarchy.
>
> Signed-off-by: Axel Lin <[email protected]>
> ---
> ?drivers/mfd/omap-usb-host.c | ? ?4 +++-
> ?1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
> index 3ab9ffa..344f518 100644
> --- a/drivers/mfd/omap-usb-host.c
> +++ b/drivers/mfd/omap-usb-host.c
> @@ -281,6 +281,7 @@ static int omap_usbhs_alloc_children(struct platform_device *pdev)
>
> ? ? ? ?if (!ehci) {
> ? ? ? ? ? ? ? ?dev_err(dev, "omap_usbhs_alloc_child failed\n");
> + ? ? ? ? ? ? ? ret = -ENOMEM;
> ? ? ? ? ? ? ? ?goto err_end;
> ? ? ? ?}
>
> @@ -304,13 +305,14 @@ static int omap_usbhs_alloc_children(struct platform_device *pdev)
> ? ? ? ? ? ? ? ?sizeof(*ohci_data), dev);
> ? ? ? ?if (!ohci) {
> ? ? ? ? ? ? ? ?dev_err(dev, "omap_usbhs_alloc_child failed\n");
> + ? ? ? ? ? ? ? ret = -ENOMEM;
> ? ? ? ? ? ? ? ?goto err_ehci;
> ? ? ? ?}
>
> ? ? ? ?return 0;
>
> ?err_ehci:
> - ? ? ? platform_device_put(ehci);
> + ? ? ? platform_device_unregister(ehci);
>
> ?err_end:
> ? ? ? ?return ret;
> --
> 1.7.1
>
Looks goo to me;
Balbi,
I will take this patch on top of hwmod and runtime pm patches?
is it OK for you.
Hi,
On Mon, May 16, 2011 at 04:33:58PM +0530, Munegowda, Keshava wrote:
> On Sat, May 14, 2011 at 11:45 AM, Axel Lin <[email protected]> wrote:
> > 1. Return proper error if omap_usbhs_alloc_child fails
> > 2. In the case of goto err_ehci, we should call platform_device_unregister(ehci)
> > ? instead of platform_device_put(ehci) because we have already added the
> > ? platform device to device hierarchy.
> >
> > Signed-off-by: Axel Lin <[email protected]>
> > ---
> > ?drivers/mfd/omap-usb-host.c | ? ?4 +++-
> > ?1 files changed, 3 insertions(+), 1 deletions(-)
> >
> > diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
> > index 3ab9ffa..344f518 100644
> > --- a/drivers/mfd/omap-usb-host.c
> > +++ b/drivers/mfd/omap-usb-host.c
> > @@ -281,6 +281,7 @@ static int omap_usbhs_alloc_children(struct platform_device *pdev)
> >
> > ? ? ? ?if (!ehci) {
> > ? ? ? ? ? ? ? ?dev_err(dev, "omap_usbhs_alloc_child failed\n");
> > + ? ? ? ? ? ? ? ret = -ENOMEM;
> > ? ? ? ? ? ? ? ?goto err_end;
> > ? ? ? ?}
> >
> > @@ -304,13 +305,14 @@ static int omap_usbhs_alloc_children(struct platform_device *pdev)
> > ? ? ? ? ? ? ? ?sizeof(*ohci_data), dev);
> > ? ? ? ?if (!ohci) {
> > ? ? ? ? ? ? ? ?dev_err(dev, "omap_usbhs_alloc_child failed\n");
> > + ? ? ? ? ? ? ? ret = -ENOMEM;
> > ? ? ? ? ? ? ? ?goto err_ehci;
> > ? ? ? ?}
> >
> > ? ? ? ?return 0;
> >
> > ?err_ehci:
> > - ? ? ? platform_device_put(ehci);
> > + ? ? ? platform_device_unregister(ehci);
> >
> > ?err_end:
> > ? ? ? ?return ret;
> > --
> > 1.7.1
> >
>
> Looks goo to me;
>
> Balbi,
> I will take this patch on top of hwmod and runtime pm patches?
> is it OK for you.
It's ok. Just be sure to split the series correctly:
arch/arm/*omap*/ -> to Tony
drivers/mfd/* -> to Samuel
--
balbi
Hi Axel,
On Sat, May 14, 2011 at 02:15:36PM +0800, Axel Lin wrote:
> 1. Return proper error if omap_usbhs_alloc_child fails
> 2. In the case of goto err_ehci, we should call platform_device_unregister(ehci)
> instead of platform_device_put(ehci) because we have already added the
> platform device to device hierarchy.
Patch applied, thanks a lot.
Cheers,
Samuel.
--
Intel Open Source Technology Centre
http://oss.intel.com/