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