On Mon, May 11, 2020 at 3:51 PM Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > > On Mon, 11 May 2020, Al Cooper wrote: > > > Add a new EHCI driver for Broadcom STB SoC's. A new EHCI driver > > was created instead of adding support to the existing ehci platform > > driver because of the code required to work around bugs in the EHCI > > controller. The primary workaround is for a bug where the Core > > violates the SOF interval between the first two SOFs transmitted after > > resume. This only happens if the resume occurs near the end of a > > microframe. The fix is to intercept the ehci-hcd request to complete > > RESUME and align it to the start of the next microframe. > > > > Signed-off-by: Al Cooper <alcooperx@xxxxxxxxx> > > Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > > Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> > > --- > > I hate to point this out... > > > +static int ehci_brcm_probe(struct platform_device *pdev) > > +{ > > + struct device *dev = &pdev->dev; > > + struct resource *res_mem; > > + struct brcm_priv *priv; > > + struct usb_hcd *hcd; > > + int irq; > > + int err; > > + > > + err = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32)); > > + if (err) > > + return err; > > + > > + irq = platform_get_irq(pdev, 0); > > + if (irq <= 0) > > + return irq ? irq : EINVAL; > > That should be -EINVAL. > > To tell the truth, I'm not sure it's worthwhile checking for irq == 0. > That's up to Greg to decide. Darn, I've been looking at this code for too long :( Since Greg originally requested <=, I'll fix this and send v10. Thanks Al > > Anyway, as far as I'm concerned you can either change EINVAL to -EINVAL > or change the whole thing back to "if (irq < 0) return irq;". Either > way, you may add: > > Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> > > Alan Stern >