diff mbox

[2/5] usb: musb: omap: always glue have the correct vbus/id status

Message ID 1363164430-19118-3-git-send-email-kishon@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kishon Vijay Abraham I March 13, 2013, 8:47 a.m. UTC
In the case where omap glue is loaded and musb core is not, glue->status
wont have a valid status if the phy drivers call omap_musb_mailbox. So
fixed the conditions here.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
 drivers/usb/musb/omap2430.c |   11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

Comments

Grazvydas Ignotas March 13, 2013, 9:59 p.m. UTC | #1
On Wed, Mar 13, 2013 at 10:47 AM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
> In the case where omap glue is loaded and musb core is not, glue->status
> wont have a valid status if the phy drivers call omap_musb_mailbox. So
> fixed the conditions here.

There already seems to be another patch named "usb: musb: omap2430:
fix omap_musb_mailbox glue check again" on it's way to mainline that
does mostly the same as first part of this patch.

>
> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
> ---
>  drivers/usb/musb/omap2430.c |   11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
> index 78bfc50..28a0220 100644
> --- a/drivers/usb/musb/omap2430.c
> +++ b/drivers/usb/musb/omap2430.c
> @@ -236,13 +236,10 @@ void omap_musb_mailbox(enum omap_musb_vbus_id_status status)
>  {
>         struct omap2430_glue    *glue = _glue;
>
> -       if (glue && glue_to_musb(glue)) {
> -               glue->status = status;
> -       } else {
> -               pr_err("%s: musb core is not yet ready\n", __func__);
> +       if (!glue)
>                 return;
> -       }
>
> +       glue->status = status;
>         schedule_work(&glue->omap_musb_mailbox_work);
>  }
>  EXPORT_SYMBOL_GPL(omap_musb_mailbox);
> @@ -307,7 +304,9 @@ static void omap_musb_mailbox_work(struct work_struct *mailbox_work)
>  {
>         struct omap2430_glue *glue = container_of(mailbox_work,
>                                 struct omap2430_glue, omap_musb_mailbox_work);
> -       omap_musb_set_mailbox(glue);
> +
> +       if (glue_to_musb(glue))
> +               omap_musb_set_mailbox(glue);
>  }
>
>  static irqreturn_t omap2430_musb_interrupt(int irq, void *__hci)
> --
> 1.7.10.4
>
Kishon Vijay Abraham I March 14, 2013, 5:26 a.m. UTC | #2
On Thursday 14 March 2013 03:29 AM, Grazvydas Ignotas wrote:
> On Wed, Mar 13, 2013 at 10:47 AM, Kishon Vijay Abraham I <kishon@ti.com> wrote:
>> In the case where omap glue is loaded and musb core is not, glue->status
>> wont have a valid status if the phy drivers call omap_musb_mailbox. So
>> fixed the conditions here.
>
> There already seems to be another patch named "usb: musb: omap2430:
> fix omap_musb_mailbox glue check again" on it's way to mainline that
> does mostly the same as first part of this patch.

Oh yeah. Missed that.

Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
index 78bfc50..28a0220 100644
--- a/drivers/usb/musb/omap2430.c
+++ b/drivers/usb/musb/omap2430.c
@@ -236,13 +236,10 @@  void omap_musb_mailbox(enum omap_musb_vbus_id_status status)
 {
 	struct omap2430_glue	*glue = _glue;
 
-	if (glue && glue_to_musb(glue)) {
-		glue->status = status;
-	} else {
-		pr_err("%s: musb core is not yet ready\n", __func__);
+	if (!glue)
 		return;
-	}
 
+	glue->status = status;
 	schedule_work(&glue->omap_musb_mailbox_work);
 }
 EXPORT_SYMBOL_GPL(omap_musb_mailbox);
@@ -307,7 +304,9 @@  static void omap_musb_mailbox_work(struct work_struct *mailbox_work)
 {
 	struct omap2430_glue *glue = container_of(mailbox_work,
 				struct omap2430_glue, omap_musb_mailbox_work);
-	omap_musb_set_mailbox(glue);
+
+	if (glue_to_musb(glue))
+		omap_musb_set_mailbox(glue);
 }
 
 static irqreturn_t omap2430_musb_interrupt(int irq, void *__hci)