Re: [PATCH v9 4/5] usb: ehci: Add new EHCI driver for Broadcom STB SoC's
From: Alan Stern <stern@rowland.harvard.edu>
Date: 2020-05-11 19:51:07
Also in:
linux-usb, lkml
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@gmail.com> Reviewed-by: Andy Shevchenko <redacted> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> ---
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. 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@rowland.harvard.edu> Alan Stern