diff --git a/include/kernel-5.15 b/include/kernel-5.15 index 313e735a5430aa..3806ef18b47810 100644 --- a/include/kernel-5.15 +++ b/include/kernel-5.15 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.15 = .135 -LINUX_KERNEL_HASH-5.15.135 = 14835e629e237f136cfed484fdb533c95242429809bdcdb2a2d66dfcb7447170 +LINUX_VERSION-5.15 = .136 +LINUX_KERNEL_HASH-5.15.136 = c624b9fe7ee4708d34cfd0b7ebc58037afac7463338cc498641ea31c55eeacb8 diff --git a/target/linux/bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch index 17013c75bad8c9..05d7fc1b45d900 100644 --- a/target/linux/bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch +++ b/target/linux/bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch @@ -90,33 +90,38 @@ it on BCM4708 family. /* * Reset a halted HC. * -@@ -611,10 +654,20 @@ static int xhci_init(struct usb_hcd *hcd +@@ -629,11 +672,24 @@ static int xhci_run_finished(struct xhci + temp = readl(&xhci->ir_set->irq_pending); + writel(ER_IRQ_ENABLE(temp), &xhci->ir_set->irq_pending); - static int xhci_run_finished(struct xhci_hcd *xhci) - { - if (xhci_start(xhci)) { - xhci_halt(xhci); +- spin_unlock_irqrestore(&xhci->lock, flags); - return -ENODEV; ++ -if (xhci_start(xhci)) { ++ - xhci_halt(xhci); ++ - spin_unlock_irqrestore(&xhci->lock, flags); ++ - return -ENODEV; + int err; + + err = xhci_start(xhci); + if (err) { + err = -ENODEV; + goto err_halt; - } ++ } + + if (xhci->quirks & XHCI_FAKE_DOORBELL) { + err = xhci_fake_doorbell(xhci, 1); + if (err) + goto err_halt; -+ } + } + xhci->shared_hcd->state = HC_STATE_RUNNING; xhci->cmd_ring_state = CMD_RING_STATE_RUNNING; -@@ -624,6 +677,10 @@ static int xhci_run_finished(struct xhci - xhci_dbg_trace(xhci, trace_xhci_dbg_init, - "Finished xhci_run for USB3 roothub"); +@@ -646,6 +702,10 @@ static int xhci_run_finished(struct xhci + spin_unlock_irqrestore(&xhci->lock, flags); + return 0; + +err_halt: