* [PATCH v2] usb: fsl_udc: errata - postpone freeing current dTD [not found] ` <20120521190450.GA27492@arwen.pp.htv.fi> @ 2012-06-04 11:30 ` Christoph Fritz 2012-06-04 11:37 ` Christoph Fritz 2012-06-04 14:59 ` Felipe Balbi 0 siblings, 2 replies; 7+ messages in thread From: Christoph Fritz @ 2012-06-04 11:30 UTC (permalink / raw) To: linux-arm-kernel Hi, On Mon, 2012-05-21 at 22:04 +0300, Felipe Balbi wrote: > On Mon, May 21, 2012 at 08:57:22AM +0200, Christoph Fritz wrote: > > USB controller may access a wrong address for the dTD (endpoint transfer > > descriptor) and then hang. This happens a lot when doing tests with > > g_ether module and iperf, a tool for measuring maximum TCP and UDP > > bandwidth. > > > > This hardware bug is explained in detail by errata number 2858 for i.MX23: > > http://cache.freescale.com/files/dsp/doc/errata/IMX23CE.pdf > > > > All (?) SOCs with an IP from chipidea suffer from this problem. > > mv_udc_core fixes this bug by commit daec765. There still may be > > unfixed drivers. > > > > Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com> > > Signed-off-by: Christian Hemp <c.hemp@phytec.de> > > --- > > drivers/usb/gadget/fsl_udc_core.c | 15 ++++++++++++++- > > 1 files changed, 14 insertions(+), 1 deletions(-) > > > > diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c > > index 55abfb6..72f2139 100644 > > --- a/drivers/usb/gadget/fsl_udc_core.c > > +++ b/drivers/usb/gadget/fsl_udc_core.c > > @@ -65,6 +65,8 @@ static struct usb_sys_interface *usb_sys_regs; > > /* it is initialized in probe() */ > > static struct fsl_udc *udc_controller = NULL; > > > > +static struct ep_td_struct *last_free_td; > > I don't want to see global variables anymore. In fact, please convert > this to the new udc_start()/udc_stop() calls and use the generic > map/unmap routines. > > That'll help you get rid of a bunch of useless code on the driver. After > that you should remove all <asm/*> header includes and drop the ARCH > dependency. > > You can also drop the big-/little-endian helpers as you can make use of > generic writel()/readl() routines. > > Please make sure these series comes in with enough time to reach v3.6 > merge window in about 3 months. > > You can put this fix together on that series after you drop the global. Before I came to do the proposed changes, I stumbled upon this: In file included from drivers/usb/gadget/fsl_udc_core.c:49: drivers/usb/gadget/fsl_usb2_udc.h: In function ?get_qh_by_ep?: drivers/usb/gadget/fsl_usb2_udc.h:585: error: ?struct fsl_ep? has no member named ?desc? drivers/usb/gadget/fsl_udc_core.c: In function ?done?: drivers/usb/gadget/fsl_udc_core.c:187: error: ?struct fsl_ep? has no member named ?desc? drivers/usb/gadget/fsl_udc_core.c:187: error: ?struct fsl_ep? has no member named ?desc? <snip> my proposed regression patch: --- From: Christoph Fritz <chf.fritz@googlemail.com> Date: Mon, 4 Jun 2012 12:58:21 +0200 Subject: [PATCH] usb: gadget: regression fix - useage of usb_ep This patch removes redundant pointer to struct usb_endpoint_descriptor which were missed in commit 79149b8: usb: gadget: Update fsl_udc_core to use usb_endpoint_descriptor inside the struct usb_ep Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com> --- drivers/usb/gadget/fsl_udc_core.c | 2 +- drivers/usb/gadget/fsl_usb2_udc.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c index 2831685..678ec4d 100644 --- a/drivers/usb/gadget/fsl_udc_core.c +++ b/drivers/usb/gadget/fsl_udc_core.c @@ -2575,7 +2575,7 @@ static int __init fsl_udc_probe(struct platform_device *pdev) /* for ep0: the desc defined here; * for other eps, gadget layer called ep_enable with defined desc */ - udc_controller->eps[0].desc = &fsl_ep0_desc; + udc_controller->eps[0].ep.desc = &fsl_ep0_desc; udc_controller->eps[0].ep.maxpacket = USB_MAX_CTRL_PAYLOAD; /* setup the udc->eps[] for non-control endpoints and link diff --git a/drivers/usb/gadget/fsl_usb2_udc.h b/drivers/usb/gadget/fsl_usb2_udc.h index 5cd7b7e..f61a967 100644 --- a/drivers/usb/gadget/fsl_usb2_udc.h +++ b/drivers/usb/gadget/fsl_usb2_udc.h @@ -568,10 +568,10 @@ static void dump_msg(const char *label, const u8 * buf, unsigned int length) /* * ### internal used help routines. */ -#define ep_index(EP) ((EP)->desc->bEndpointAddress&0xF) +#define ep_index(EP) ((EP)->ep.desc->bEndpointAddress&0xF) #define ep_maxpacket(EP) ((EP)->ep.maxpacket) #define ep_is_in(EP) ( (ep_index(EP) == 0) ? (EP->udc->ep0_dir == \ - USB_DIR_IN ):((EP)->desc->bEndpointAddress \ + USB_DIR_IN) : ((EP)->ep.desc->bEndpointAddress \ & USB_DIR_IN)==USB_DIR_IN) #define get_ep_by_pipe(udc, pipe) ((pipe == 1)? &udc->eps[0]: \ &udc->eps[pipe]) -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2] usb: fsl_udc: errata - postpone freeing current dTD 2012-06-04 11:30 ` [PATCH v2] usb: fsl_udc: errata - postpone freeing current dTD Christoph Fritz @ 2012-06-04 11:37 ` Christoph Fritz 2012-06-10 18:41 ` Fabio Estevam 2012-06-04 14:59 ` Felipe Balbi 1 sibling, 1 reply; 7+ messages in thread From: Christoph Fritz @ 2012-06-04 11:37 UTC (permalink / raw) To: linux-arm-kernel On Mon, 2012-06-04 at 13:30 +0200, Christoph Fritz wrote: > Hi, > > On Mon, 2012-05-21 at 22:04 +0300, Felipe Balbi wrote: > > On Mon, May 21, 2012 at 08:57:22AM +0200, Christoph Fritz wrote: > > > USB controller may access a wrong address for the dTD (endpoint transfer > > > descriptor) and then hang. This happens a lot when doing tests with > > > g_ether module and iperf, a tool for measuring maximum TCP and UDP > > > bandwidth. > > > > > > This hardware bug is explained in detail by errata number 2858 for i.MX23: > > > http://cache.freescale.com/files/dsp/doc/errata/IMX23CE.pdf > > > > > > All (?) SOCs with an IP from chipidea suffer from this problem. > > > mv_udc_core fixes this bug by commit daec765. There still may be > > > unfixed drivers. > > > > > > Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com> > > > Signed-off-by: Christian Hemp <c.hemp@phytec.de> > > > --- > > > drivers/usb/gadget/fsl_udc_core.c | 15 ++++++++++++++- > > > 1 files changed, 14 insertions(+), 1 deletions(-) > > > > > > diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c > > > index 55abfb6..72f2139 100644 > > > --- a/drivers/usb/gadget/fsl_udc_core.c > > > +++ b/drivers/usb/gadget/fsl_udc_core.c > > > @@ -65,6 +65,8 @@ static struct usb_sys_interface *usb_sys_regs; > > > /* it is initialized in probe() */ > > > static struct fsl_udc *udc_controller = NULL; > > > > > > +static struct ep_td_struct *last_free_td; > > > > I don't want to see global variables anymore. In fact, please convert > > this to the new udc_start()/udc_stop() calls and use the generic > > map/unmap routines. > > > > That'll help you get rid of a bunch of useless code on the driver. After > > that you should remove all <asm/*> header includes and drop the ARCH > > dependency. > > > > You can also drop the big-/little-endian helpers as you can make use of > > generic writel()/readl() routines. > > > > Please make sure these series comes in with enough time to reach v3.6 > > merge window in about 3 months. > > > > You can put this fix together on that series after you drop the global. > > Before I came to do the proposed changes, I stumbled upon this: > > In file included from drivers/usb/gadget/fsl_udc_core.c:49: > drivers/usb/gadget/fsl_usb2_udc.h: In function ?get_qh_by_ep?: > drivers/usb/gadget/fsl_usb2_udc.h:585: error: ?struct fsl_ep? has no member named ?desc? > drivers/usb/gadget/fsl_udc_core.c: In function ?done?: > drivers/usb/gadget/fsl_udc_core.c:187: error: ?struct fsl_ep? has no member named ?desc? > drivers/usb/gadget/fsl_udc_core.c:187: error: ?struct fsl_ep? has no member named ?desc? > <snip> > > my proposed regression patch: > --- > From: Christoph Fritz <chf.fritz@googlemail.com> > Date: Mon, 4 Jun 2012 12:58:21 +0200 > Subject: [PATCH] usb: gadget: regression fix - useage of usb_ep <snip> After that, I stumbled upon this dmesg: Freescale High-Speed USB SOC Device Controller driver (Apr 20, 2007) fsl-usb2-udc fsl-usb2-udc: clk_get("usb") failed fsl-usb2-udc: probe of fsl-usb2-udc failed with error -2 Sascha, could you give me a hint? Thanks, -- Christoph ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] usb: fsl_udc: errata - postpone freeing current dTD 2012-06-04 11:37 ` Christoph Fritz @ 2012-06-10 18:41 ` Fabio Estevam 2012-06-12 19:40 ` Christoph Fritz 0 siblings, 1 reply; 7+ messages in thread From: Fabio Estevam @ 2012-06-10 18:41 UTC (permalink / raw) To: linux-arm-kernel Hi Christoph, On Mon, Jun 4, 2012 at 8:37 AM, Christoph Fritz <chf.fritz@googlemail.com> wrote: > After that, I stumbled upon this dmesg: > > Freescale High-Speed USB SOC Device Controller driver (Apr 20, 2007) > fsl-usb2-udc fsl-usb2-udc: clk_get("usb") failed > fsl-usb2-udc: probe of fsl-usb2-udc failed with error -2 > > Sascha, could you give me a hint? Does the patch below fix your problem? drivers/usb/gadget/fsl_mxc_udc.c | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/usb/gadget/fsl_mxc_udc.c b/drivers/usb/gadget/fsl_mxc_udc.c index dcbc0a2..c3ade6b 100644 --- a/drivers/usb/gadget/fsl_mxc_udc.c +++ b/drivers/usb/gadget/fsl_mxc_udc.c @@ -36,21 +36,21 @@ int fsl_udc_clk_init(struct platform_device *pdev) pdata = pdev->dev.platform_data; if (!cpu_is_mx35() && !cpu_is_mx25()) { - mxc_ahb_clk = clk_get(&pdev->dev, "usb_ahb"); + mxc_ahb_clk = clk_get(&pdev->dev, "ipg"); if (IS_ERR(mxc_ahb_clk)) return PTR_ERR(mxc_ahb_clk); - ret = clk_enable(mxc_ahb_clk); + ret = clk_prepare_enable(mxc_ahb_clk); if (ret < 0) { - dev_err(&pdev->dev, "clk_enable(\"usb_ahb\") failed\n"); + dev_err(&pdev->dev, "clk_enable(\"ipg\") failed\n"); goto eenahb; } } /* make sure USB_CLK is running at 60 MHz +/- 1000 Hz */ - mxc_usb_clk = clk_get(&pdev->dev, "usb"); + mxc_usb_clk = clk_get(&pdev->dev, "per"); if (IS_ERR(mxc_usb_clk)) { - dev_err(&pdev->dev, "clk_get(\"usb\") failed\n"); + dev_err(&pdev->dev, "clk_get(\"per\") failed\n"); ret = PTR_ERR(mxc_usb_clk); goto egusb; } @@ -65,7 +65,7 @@ int fsl_udc_clk_init(struct platform_device *pdev) } } - ret = clk_enable(mxc_usb_clk); + ret = clk_prepare_enable(mxc_usb_clk); if (ret < 0) { dev_err(&pdev->dev, "clk_enable(\"usb_clk\") failed\n"); goto eenusb; @@ -79,7 +79,7 @@ eclkrate: mxc_usb_clk = NULL; egusb: if (!cpu_is_mx35()) - clk_disable(mxc_ahb_clk); + clk_disable_unprepare(mxc_ahb_clk); eenahb: if (!cpu_is_mx35()) clk_put(mxc_ahb_clk); @@ -104,7 +104,7 @@ void fsl_udc_clk_finalize(struct platform_device *pdev) /* ULPI transceivers don't need usbpll */ if (pdata->phy_mode == FSL_USB2_PHY_ULPI) { - clk_disable(mxc_usb_clk); + clk_disable_unprepare(mxc_usb_clk); clk_put(mxc_usb_clk); mxc_usb_clk = NULL; } @@ -113,11 +113,11 @@ void fsl_udc_clk_finalize(struct platform_device *pdev) void fsl_udc_clk_release(void) { if (mxc_usb_clk) { - clk_disable(mxc_usb_clk); + clk_disable_unprepare(mxc_usb_clk); clk_put(mxc_usb_clk); } if (!cpu_is_mx35()) { - clk_disable(mxc_ahb_clk); + clk_disable_unprepare(mxc_ahb_clk); clk_put(mxc_ahb_clk); } } -- ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2] usb: fsl_udc: errata - postpone freeing current dTD 2012-06-10 18:41 ` Fabio Estevam @ 2012-06-12 19:40 ` Christoph Fritz 2012-06-13 1:17 ` Fabio Estevam 0 siblings, 1 reply; 7+ messages in thread From: Christoph Fritz @ 2012-06-12 19:40 UTC (permalink / raw) To: linux-arm-kernel Hi Fabio On Sun, 2012-06-10 at 15:41 -0300, Fabio Estevam wrote: > Hi Christoph, > > On Mon, Jun 4, 2012 at 8:37 AM, Christoph Fritz > <chf.fritz@googlemail.com> wrote: > > > After that, I stumbled upon this dmesg: > > > > Freescale High-Speed USB SOC Device Controller driver (Apr 20, 2007) > > fsl-usb2-udc fsl-usb2-udc: clk_get("usb") failed > > fsl-usb2-udc: probe of fsl-usb2-udc failed with error -2 > > > > Sascha, could you give me a hint? > > Does the patch below fix your problem? Thanks for your patch. It does indeed load "Freescale High-Speed USB SOC Device Controller driver (Apr 20, 2007)" fine - but now when I want to use it: modprobe g_ether [ 17.099363] g_ether gadget: using random self ethernet address [ 17.105316] g_ether gadget: using random host ethernet address [ 17.111974] usb0: MAC 1a:c7:9e:76:cc:45 [ 17.115866] usb0: HOST MAC 66:a2:4a:0a:46:17 [ 17.120199] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008 [ 17.126861] g_ether gadget: g_ether ready these are "the last words": System hangs completely. Same behavior with g_serial (these two I've tested). Currently I can't investigate this further, not because of a bug - but a flu. Thanks, -- Christoph ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] usb: fsl_udc: errata - postpone freeing current dTD 2012-06-12 19:40 ` Christoph Fritz @ 2012-06-13 1:17 ` Fabio Estevam 0 siblings, 0 replies; 7+ messages in thread From: Fabio Estevam @ 2012-06-13 1:17 UTC (permalink / raw) To: linux-arm-kernel On Tue, Jun 12, 2012 at 4:40 PM, Christoph Fritz <chf.fritz@googlemail.com> wrote: > Thanks for your patch. It does indeed load > "Freescale High-Speed USB SOC Device Controller driver (Apr 20, 2007)" > fine - but now when I want to use it: > > modprobe g_ether > [ ? 17.099363] g_ether gadget: using random self ethernet address > [ ? 17.105316] g_ether gadget: using random host ethernet address > [ ? 17.111974] usb0: MAC 1a:c7:9e:76:cc:45 > [ ? 17.115866] usb0: HOST MAC 66:a2:4a:0a:46:17 > [ ? 17.120199] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008 > [ ? 17.126861] g_ether gadget: g_ether ready > > these are "the last words": System hangs completely. Same behavior with > g_serial (these two I've tested). Ok, I just sent a new patch to the linux-usb mailing list. Tested it on a mx31 and mx51 and it probed g_ether fine. I don't have a mx35 handy. > > Currently I can't investigate this further, not because of a bug - but a > flu. Hope you get better soon. Regards, Fabio Estevam ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] usb: fsl_udc: errata - postpone freeing current dTD 2012-06-04 11:30 ` [PATCH v2] usb: fsl_udc: errata - postpone freeing current dTD Christoph Fritz 2012-06-04 11:37 ` Christoph Fritz @ 2012-06-04 14:59 ` Felipe Balbi 2012-06-04 15:24 ` [PATCH] usb: gadget: regression fix - useage of usb_ep Christoph Fritz 1 sibling, 1 reply; 7+ messages in thread From: Felipe Balbi @ 2012-06-04 14:59 UTC (permalink / raw) To: linux-arm-kernel On Mon, Jun 04, 2012 at 01:30:24PM +0200, Christoph Fritz wrote: > Hi, > > On Mon, 2012-05-21 at 22:04 +0300, Felipe Balbi wrote: > > On Mon, May 21, 2012 at 08:57:22AM +0200, Christoph Fritz wrote: > > > USB controller may access a wrong address for the dTD (endpoint transfer > > > descriptor) and then hang. This happens a lot when doing tests with > > > g_ether module and iperf, a tool for measuring maximum TCP and UDP > > > bandwidth. > > > > > > This hardware bug is explained in detail by errata number 2858 for i.MX23: > > > http://cache.freescale.com/files/dsp/doc/errata/IMX23CE.pdf > > > > > > All (?) SOCs with an IP from chipidea suffer from this problem. > > > mv_udc_core fixes this bug by commit daec765. There still may be > > > unfixed drivers. > > > > > > Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com> > > > Signed-off-by: Christian Hemp <c.hemp@phytec.de> > > > --- > > > drivers/usb/gadget/fsl_udc_core.c | 15 ++++++++++++++- > > > 1 files changed, 14 insertions(+), 1 deletions(-) > > > > > > diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c > > > index 55abfb6..72f2139 100644 > > > --- a/drivers/usb/gadget/fsl_udc_core.c > > > +++ b/drivers/usb/gadget/fsl_udc_core.c > > > @@ -65,6 +65,8 @@ static struct usb_sys_interface *usb_sys_regs; > > > /* it is initialized in probe() */ > > > static struct fsl_udc *udc_controller = NULL; > > > > > > +static struct ep_td_struct *last_free_td; > > > > I don't want to see global variables anymore. In fact, please convert > > this to the new udc_start()/udc_stop() calls and use the generic > > map/unmap routines. > > > > That'll help you get rid of a bunch of useless code on the driver. After > > that you should remove all <asm/*> header includes and drop the ARCH > > dependency. > > > > You can also drop the big-/little-endian helpers as you can make use of > > generic writel()/readl() routines. > > > > Please make sure these series comes in with enough time to reach v3.6 > > merge window in about 3 months. > > > > You can put this fix together on that series after you drop the global. > > Before I came to do the proposed changes, I stumbled upon this: > > In file included from drivers/usb/gadget/fsl_udc_core.c:49: > drivers/usb/gadget/fsl_usb2_udc.h: In function ?get_qh_by_ep?: > drivers/usb/gadget/fsl_usb2_udc.h:585: error: ?struct fsl_ep? has no member named ?desc? > drivers/usb/gadget/fsl_udc_core.c: In function ?done?: > drivers/usb/gadget/fsl_udc_core.c:187: error: ?struct fsl_ep? has no member named ?desc? > drivers/usb/gadget/fsl_udc_core.c:187: error: ?struct fsl_ep? has no member named ?desc? > <snip> > > my proposed regression patch: > --- > From: Christoph Fritz <chf.fritz@googlemail.com> > Date: Mon, 4 Jun 2012 12:58:21 +0200 > Subject: [PATCH] usb: gadget: regression fix - useage of usb_ep > > This patch removes redundant pointer to struct usb_endpoint_descriptor which > were missed in commit 79149b8: > > usb: gadget: Update fsl_udc_core to use usb_endpoint_descriptor inside the > struct usb_ep > > Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com> > --- > drivers/usb/gadget/fsl_udc_core.c | 2 +- > drivers/usb/gadget/fsl_usb2_udc.h | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c > index 2831685..678ec4d 100644 > --- a/drivers/usb/gadget/fsl_udc_core.c > +++ b/drivers/usb/gadget/fsl_udc_core.c > @@ -2575,7 +2575,7 @@ static int __init fsl_udc_probe(struct platform_device *pdev) > /* for ep0: the desc defined here; > * for other eps, gadget layer called ep_enable with defined desc > */ > - udc_controller->eps[0].desc = &fsl_ep0_desc; > + udc_controller->eps[0].ep.desc = &fsl_ep0_desc; > udc_controller->eps[0].ep.maxpacket = USB_MAX_CTRL_PAYLOAD; > > /* setup the udc->eps[] for non-control endpoints and link > diff --git a/drivers/usb/gadget/fsl_usb2_udc.h b/drivers/usb/gadget/fsl_usb2_udc.h > index 5cd7b7e..f61a967 100644 > --- a/drivers/usb/gadget/fsl_usb2_udc.h > +++ b/drivers/usb/gadget/fsl_usb2_udc.h > @@ -568,10 +568,10 @@ static void dump_msg(const char *label, const u8 * buf, unsigned int length) > /* > * ### internal used help routines. > */ > -#define ep_index(EP) ((EP)->desc->bEndpointAddress&0xF) > +#define ep_index(EP) ((EP)->ep.desc->bEndpointAddress&0xF) > #define ep_maxpacket(EP) ((EP)->ep.maxpacket) > #define ep_is_in(EP) ( (ep_index(EP) == 0) ? (EP->udc->ep0_dir == \ > - USB_DIR_IN ):((EP)->desc->bEndpointAddress \ > + USB_DIR_IN) : ((EP)->ep.desc->bEndpointAddress \ > & USB_DIR_IN)==USB_DIR_IN) > #define get_ep_by_pipe(udc, pipe) ((pipe == 1)? &udc->eps[0]: \ > &udc->eps[pipe]) > -- > 1.7.2.5 Please send as a proper patch so I can apply. -- balbi -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120604/bcc38ce3/attachment-0001.sig> ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] usb: gadget: regression fix - useage of usb_ep 2012-06-04 14:59 ` Felipe Balbi @ 2012-06-04 15:24 ` Christoph Fritz 0 siblings, 0 replies; 7+ messages in thread From: Christoph Fritz @ 2012-06-04 15:24 UTC (permalink / raw) To: linux-arm-kernel This patch removes redundant pointer to struct usb_endpoint_descriptor which were missed in commit 79149b8: usb: gadget: Update fsl_udc_core to use usb_endpoint_descriptor inside the struct usb_ep Due to clock framework regressions, this patch is only compile tested! Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com> --- drivers/usb/gadget/fsl_udc_core.c | 2 +- drivers/usb/gadget/fsl_usb2_udc.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c index 2831685..678ec4d 100644 --- a/drivers/usb/gadget/fsl_udc_core.c +++ b/drivers/usb/gadget/fsl_udc_core.c @@ -2575,7 +2575,7 @@ static int __init fsl_udc_probe(struct platform_device *pdev) /* for ep0: the desc defined here; * for other eps, gadget layer called ep_enable with defined desc */ - udc_controller->eps[0].desc = &fsl_ep0_desc; + udc_controller->eps[0].ep.desc = &fsl_ep0_desc; udc_controller->eps[0].ep.maxpacket = USB_MAX_CTRL_PAYLOAD; /* setup the udc->eps[] for non-control endpoints and link diff --git a/drivers/usb/gadget/fsl_usb2_udc.h b/drivers/usb/gadget/fsl_usb2_udc.h index 5cd7b7e..f61a967 100644 --- a/drivers/usb/gadget/fsl_usb2_udc.h +++ b/drivers/usb/gadget/fsl_usb2_udc.h @@ -568,10 +568,10 @@ static void dump_msg(const char *label, const u8 * buf, unsigned int length) /* * ### internal used help routines. */ -#define ep_index(EP) ((EP)->desc->bEndpointAddress&0xF) +#define ep_index(EP) ((EP)->ep.desc->bEndpointAddress&0xF) #define ep_maxpacket(EP) ((EP)->ep.maxpacket) #define ep_is_in(EP) ( (ep_index(EP) == 0) ? (EP->udc->ep0_dir == \ - USB_DIR_IN ):((EP)->desc->bEndpointAddress \ + USB_DIR_IN) : ((EP)->ep.desc->bEndpointAddress \ & USB_DIR_IN)==USB_DIR_IN) #define get_ep_by_pipe(udc, pipe) ((pipe == 1)? &udc->eps[0]: \ &udc->eps[pipe]) -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-06-13 1:17 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20120410021151.GB23044@lovely.krouter> [not found] ` <20120411073918.GA9180@lovely.krouter> [not found] ` <CAOMZO5C729Ki0Bequ+s1nnrgt4NZWvwg3Wnjk4kHp=d9BtkeXw@mail.gmail.com> [not found] ` <20120509000221.GA19525@lovely.krouter> [not found] ` <20120513225126.GA3683@lovely.krouter> [not found] ` <20120514042142.GD9750@kroah.com> [not found] ` <20120520231724.GA7941@mars> [not found] ` <F281D0F91ED19E4D8E63A7504E8A649803BB1E25@039-SN2MPN1-023.039d.mgd.msft.net> [not found] ` <1337583221.3394.21.camel@mars> [not found] ` <20120521065722.GA4363@mars> [not found] ` <20120521190450.GA27492@arwen.pp.htv.fi> 2012-06-04 11:30 ` [PATCH v2] usb: fsl_udc: errata - postpone freeing current dTD Christoph Fritz 2012-06-04 11:37 ` Christoph Fritz 2012-06-10 18:41 ` Fabio Estevam 2012-06-12 19:40 ` Christoph Fritz 2012-06-13 1:17 ` Fabio Estevam 2012-06-04 14:59 ` Felipe Balbi 2012-06-04 15:24 ` [PATCH] usb: gadget: regression fix - useage of usb_ep Christoph Fritz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).