]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
bcm53xx: modify 180-usb-xhci-add-support-for-performing-fake-doorbell.patch 20362/head
authorGoetz Goerisch <ggoerisch@gmail.com>
Fri, 10 Oct 2025 05:32:41 +0000 (07:32 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 19 Oct 2025 14:25:15 +0000 (16:25 +0200)
upstream changes to the xhci_free_virt_device()

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/usb/host?h=v6.6.103&id=e600de541c37f97482fea2a7a26f186141e7ddea

The xhci_fake_doorbell() function should only free the device and not
deactivate it too. It just has to revert the call to
xhci_alloc_virt_device()

Fixes: #20153
Fixes: 1c92e468d544 ("kernel: bump 6.6 to 6.6.103")
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20362
[Update description and removed some unnecessary changes]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch

index 378d1467ed62caa718c4b351adc89c5de9406c58..94845469359414718ddc0ef17390ebf0bdb185c9 100644 (file)
@@ -23,7 +23,7 @@ it on BCM4708 family.
  static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci)
  {
        struct xhci_plat_priv *priv = xhci_to_priv(xhci);
-+      struct platform_device*pdev = to_platform_device(dev);
++      struct platform_device *pdev = to_platform_device(dev);
 +      struct device_node *node = pdev->dev.of_node;
  
        xhci->quirks |= priv->quirks;
@@ -73,7 +73,7 @@ it on BCM4708 family.
 +      }
 +
 +      /* Free virt device */
-+      xhci_disable_and_free_slot(xhci, slot_id);
++      xhci_free_virt_device(xhci, xhci->devs[slot_id], slot_id);
 +
 +      /* We're done if controller is already running */
 +      if (readl(&xhci->op_regs->command) & CMD_RUN)