Re: [PATCH] usb: dwc3: core: modify IO memory resource afterdeferred probe completes

From: Ivan T. Ivanov
Date: Thu Jul 25 2013 - 14:21:00 EST


On Thu, 2013-07-25 at 21:21 +0400, Sergei Shtylyov wrote:
> On 07/25/2013 08:26 PM, Ivan T. Ivanov wrote:
>
> > From: "Ivan T. Ivanov" <iivanov@xxxxxxxxxx>
>
> > When deferred probe happens driver will try to ioremap multiple times
> > and will fail. Memory resource.start variable is a global variable,
> > modifications in this field will be accumulated on every probe.
> > Fix this by moving the above operations after driver hold all
> > required PHY's.
>

Forgot to mention, generated on top of Felipe's 'testing' branch.

> > Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx>
> > ---
> > drivers/usb/dwc3/core.c | 31 ++++++++++++++++---------------
> > 1 file changed, 16 insertions(+), 15 deletions(-)
>
> > diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> > index 607bef8..50c833f 100644
> > --- a/drivers/usb/dwc3/core.c
> > +++ b/drivers/usb/dwc3/core.c
> [...]
> > @@ -452,6 +437,22 @@ static int dwc3_probe(struct platform_device *pdev)
> > return -EPROBE_DEFER;
> > }
> >
> > + dwc->xhci_resources[0].start = res->start;
> > + dwc->xhci_resources[0].end = dwc->xhci_resources[0].start +
> > + DWC3_XHCI_REGS_END;
> > + dwc->xhci_resources[0].flags = res->flags;
> > + dwc->xhci_resources[0].name = res->name;
> > +
> > + res->start += DWC3_GLOBALS_REGS_START;
> > +
> > + /*
> > + * Request memory region but exclude xHCI regs,
> > + * since it will be requested by the xhci-plat driver.
> > + */
>
> Please remove an extra space after a tab on each comment line.
> It seems like a good time to do it, while you're moving this code.
>

Ok.

Regards,
Ivan

> > + regs = devm_ioremap_resource(dev, res);
> > + if (IS_ERR(regs))
> > + return PTR_ERR(regs);
> > +
>
> WBR, Sergei
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/