RE: [PATCH] usb: musb: Fix glue_to_musb macro

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

>-----Original Message-----
>From: Felipe Balbi [mailto:balbi@xxxxxx]
>Sent: Wednesday, February 09, 2011 2:47 PM
>To: Hema HK
>Cc: linux-usb@xxxxxxxxxxxxxxx; Felipe Balbi
>Subject: Re: [PATCH] usb: musb: Fix glue_to_musb macro
>
>On Wed, Feb 09, 2011 at 10:33:48AM +0530, Hema HK wrote:
>> Fix the glue_to_musb macro when CONFIG_USB_MUSB_HDRC_HCD is defined.
>>
>> Signed-off-by: Hema HK <hemahk@xxxxxx>
>
>this isn't needed. platform_get_drvdata() should always return the
>correct pointer. I sent a patch to Greg fixing this:
>

OK.

>commit 456bb1697ec08c034449c81e03094fe26bedb9e9
>Author: Ming Lei <tom.leiming@xxxxxxxxx>
>Date:   Tue Dec 21 21:16:11 2010 +0800
>
>    usb: musb: fix kernel panic during s2ram(v2)
>
>    This patch fixes kernel panic during s2ram, which is caused
>    by the below:
>
>        - musb is not put into drv data of musb platform device if
>        CONFIG_USB_MUSB_HDRC_HCD is defined
>
>        - glue layer driver always get musb instance via
>platform_get_drvdata.
>
>    The patch fixes the issue by always puting musb into drv data
>    of musb platform device, which is doable even the platform device
>    is a host controller device.
>
>    Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
>    Cc: Sergei Shtylyov <sshtylyov@xxxxxxxxxx>
>    Signed-off-by: Ming Lei <tom.leiming@xxxxxxxxx>
>    Signed-off-by: Felipe Balbi <balbi@xxxxxx>
>
>diff --git a/drivers/usb/musb/musb_core.c
>b/drivers/usb/musb/musb_core.c
>index 07cf394..12b515b 100644
>--- a/drivers/usb/musb/musb_core.c
>+++ b/drivers/usb/musb/musb_core.c
>@@ -128,12 +128,7 @@ MODULE_ALIAS("platform:" MUSB_DRIVER_NAME);
>
> static inline struct musb *dev_to_musb(struct device *dev)
> {
>-#ifdef CONFIG_USB_MUSB_HDRC_HCD
>-       /* usbcore insists dev->driver_data is a "struct hcd *" */
>-       return hcd_to_musb(dev_get_drvdata(dev));
>-#else
>        return dev_get_drvdata(dev);
>-#endif
> }
>
>
>/*-------------------------------------------------------------
>------------*/
>@@ -1876,10 +1871,9 @@ allocate_instance(struct device *dev,
>        musb = kzalloc(sizeof *musb, GFP_KERNEL);
>        if (!musb)
>                return NULL;
>-       dev_set_drvdata(dev, musb);
>
> #endif
>-
>+       dev_set_drvdata(dev, musb);
>        musb->mregs = mbase;
>        musb->ctrl_base = mbase;
>        musb->nIrq = -ENODEV;
>
>--
>balbi
Regards,
Hema
>
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux